Improve The Usability Of Polar Codes: Code Construction, Performance Enhancement And Configurable Hardware