Change the way the parser functions work, add tests.
Now the parser functions set self.value AND returns self.value.
This return value is ignored under normal circumstances, but allows
the parser functions to be tested individually.

Added link tokenizer, parser functions, and began a test case for
parser functions.