Added unit tests, updated docs and cleaned up code.

 - Added unit tests for HtmlCompressor including "invalid" cases
 - Added docstrings for all methods and classes, and pylint
   exceptions where needed
 - Added additional logic to detect if the parser is within a tag
   to allow more accurate removal of single spaces
 - Updated readme to include examples of edge cases that will not
   work and alternatives
 - Cleaned up rules to not require another function
 - Added 'pre' to isolated tags