Improve parsing of boolean values

This commit implements checking the whole "False" / "True" tokens, and fixes
parsing errors when newlines do not follow boolean values. It also adds test
cases involving boolen values.
Implement dumping boolean values

Boolean values are always dumped as "True"/"False", following the Python
convention. This commit adds test cases involving dumping of booleans as
well.
Update grammar in README to include booleans
Improved/fixed whitespace skipping logic

This fixes the whitespace skipping logic. Calls to Parser.skip_whitespace()
were missing in a couple of places, and calling Parser.match() repeatedly
in cases where a sequence of contiguous characters is expected was incorrect
and its use was changed to call a new Parser.match_sequence() method.
Better reporting of malformed number syntax errors

Now the message includes the character that makes the number invalid.
Add test cases for wcfg.loads()

The same set of data used for testing wcfg.dumps() is used, so we are
effectively checking that dump/load round-trips work correctly.
Test that wcfg.loads() also accepts Unicode input
Some fixes

- Octal and Hex are now recognized
- List do not blame whitespaces