Decoupled recording api from server.py

Broke out recording api resources, and setup/teardown logic from server.py into its own Blueprint.
Implemented decorator in server.py module that carries out http_response object creation and
error handling. This decorator is to be used by all endpoints.

Updated tests to preserve functionality.

Misc logic and style fixes.
Fix #584 Solve the Unicode error in configtool

Error appeared when using a language that uses Unicode characters.
Fix typos and improve help for reset option via CLI

[skip ci]
ConfigTool General tab update

Improved the overall layout of the General tab.
Added "Reset Settings" and "Help us translate"
buttons. Some refactoring to remove unnecessary
instance variables.
Squashed 'docs/source/_themes/' content from commit 21e875d

git-subtree-dir: docs/source/_themes
git-subtree-split: 21e875d3a53ce897089ad690d897252f6063349d
Merge commit '94c258077e4b0870baa1ffd3350cedd3d1dd7159' as 'docs/source/_themes'
Fix #476 Auto language changing function finished.

Fixes 476.
If the user does not have the freeseer.conf file, the function will detect the system location for default language.
If there is a config file, the language setting in that file will have higher priority.
For Chinese, If the location is not zh_CN, Traditional Chinese will be used.
If there is no translation for the system location, English will be used.
Solve the python standard formation problem in code.
Delete the redundant backslash to fit the format requirement.
Delete the trailing space to fit the format.
Pass config argument to FreeseerApp to solve the duplicated code problem when doing the auto language changing.