We declared some functions that were never implemented. Implement them.
Add CFFI python bindings
Working python bindings
Added auto-construction, tidied h_ch a bit
Added a few tests
Finished writing unit tests. Fixed a few small bugs in hammer.py. Further issues:

 * "in_" and "not_in" should coerce their results to strings (i.e., chr(result))
 * TestLeftrec: success case 2 fails
 * TestChRange: success case segfaults
 * TestWhitespaceEnd: success case segfaults
 * TestAction: success case segfaults with "corrupted double-linked list"
 * TestButNotRange: segfaults, probably because of whatever's wrong with ch_range
 * TestXor: segfaults; failure case craps out with "malloc(): smallbin double linked list corrupted"
Import combinator and allocator APIs into SWIG. Next is glue. Need to fix unions in HParsedToken and HCaseResult.
fixed nested unions
invoke swig with relative path instead, -I../../
SWIG bindings build, compile, and appear to work for python. Will port over tests next.
There's a typemap problem between const uint8_t* and target-language strings, but I can create parsers in python and php.
SWIG python bindings, has same typemap problem as PHP
fix travis config here too
helps to link against the library...
sync with php-bindings SConscript
typemap to fix conversion from python strings to uint8_t*
python tests baked into scons; h_ch needs the first char of its input string as its input
there's the uint8_t problem (mostly) sorted
h_sequence, h_choice and HCountedSequence are all having weird issues, but tests are in a workable format now
kindasorta working. all tests (except h_action and h_attr_bool, need typemaps) have passed at one time or another, but some segfault at not-quite-random; h_and, h_epsilon_p, h_end_p, h_ignore, h_not, maybe h_choice seem culprity.