PEP8 cleanup to the python files.
Split up the monolithic file.

Each of the three custom types have their own header and source file,
along with a header/source combo for the depth-first stack
datastructure, plus another for yajl error handling and a source file
for the flojay module stuff.
Some style and naming updates.

* no camelcase in C identifiers

* no typedefs structs

* the 'flojay_' prefix is shortened to 'fj_' and applied more
  consistently

* a generator's stack is called 'stack' now and not 'head'
Upgrade yajl to 2.1.0, pare down to just the source.
Formatting updates.

* 4-space indentation instead of two

* more whitespace in if/while/switch/etc. statements

* simple boolean typedef enum rather than 1 and 0