C++ bindings getting underway.
and now in_range works too. YEAH.
Many apparently requires a template specialization. This is absurd, but whatever. I'll ask stackoverflow.
C++ tests set up. They probably don't compile; need to write iostream ops for prettyprinting and set up C++ build in scons.
Revert "C++ tests set up. They probably don't compile; need to write iostream ops for prettyprinting and set up C++ build in scons." Should have branched it.

This reverts commit 6a29277db492eccfd3c2e9c75507352002c82d51.
working on fixing leftrec for packrat
Rewrote test_leftrec to mirror test_rightrec. It fails differently for packrat now!
commenting out assert for debugging purposes
Fixed a potential segfault; hand-initialized HParsers in h_choice and
h_sequence need PB_MIN set.

Conflicts:
	src/bindings/python/SConscript
	src/bindings/python/hammer_tests.py
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.