Started reworking the parser.

First thing, I'm starting with the negative case of bad JSON
added simple case for empty JSON object
Simple, dumb second case
Added test for tab
Added case for newline character
Checked for two whitespace characters
Made code more general
Pointer stuff, wow... Not sure if I did that right
Wrote a test I thought was applicable, but will only be later
Added test for empty string
Added test for '{ '
Added case where end } is missing
Added test where character after '{' is not '}'
Moved parser to its own struct...

Seems logical because I want to move
state around and parameter passing isn't cutting it
Pretty significant refactoring
Brought the empty object in :)
Added test for space after empty object
Errored out for non ws character after JSON object
Added method for getting current rune
Built error message to get rid of repeated string values