Changed the Tokenizer char API

The char is now represented as a value instead of an option.  The end of
line case is represented as 0.
Basic function parsing support

Added basic support for function parsing.  Need a little more work and
tests to fully take care of issue #1086 but not too much.