CSS: Ported to python, Cleaning, Moving closer to google style guide

I started translating the JS code of css-beautify to python to use it in a sublime plugin. The port of the css-beautify was done closely following the code-flow of the JS version to make future updates easier. All new functionality was ported to the JS version.

The commits in the javascript code are small refactorings and the backports of new features. Unlike the python code, there don't seem to be any unittests in the javascript code, so I could not amend them and starting from scratch there felt a bit too much. 

New features introduced:
- python version of css-beautify
- property assignments should look like "property: value". The formatter now makes sure that there is exactly one space after ":"
- new option to always end with a newline
- add option "remove_trailing_zero", which is disabled by default and will remove trailing zeros from floating point values (e.g. 0.9 to .9)