Fixes #24: Added parsing ability for unqouted keys which contain the colon character

I took a stab at #24, which was opened for unquoted keys which contain the colon character. Something like `x:y: z` can now parse as valid YAML, and something like `x: y: z` will throw an exception due to the excess map key.

Let me know if you see anything wrong with it. Most of the complexity is in detecting invalid YAML cases with multiple keys.

Tests are included.