Ostensibly adds tagged indexes.

It's untested right now. Next up is driver support.
Tagged indexes are now passing cursory tests.
Fixes several bugs in tagged indexes.

They now seem to work correctly.
Replace tags with multi. Support in rb and js.

RB and JS pass smoke tests now.
Adds a gitignore.
Fix a bug in python driver.
Fix some regression tests that were made incorrect.
Fix a bug in js driver.

rql-tests now all pass.
Fixing tests for multi indexes.
Refactor sindex tests to be easier to modify.
Fix a few more test bugs.

Also adds a test that creates a multindex.
Adds tests for multindexes.
Fix a copy paste error.
Adds docs for multindexes.
Use strtou64_strict instead of atoi.
Fix bug with order_by(index="id")

Before if you ordered by the primary key then were actually treating it
like a sindex ordering due to extract_secondary being incorrect and
returning the primary key as if it were the secondary key. This is fixed
now.
Rewrites secondary key mangling.

The old method had lots of bugs in it. this new method is (hopefully) bug
free.

Also adds unittest for the secondary mangling functions.
Swap the order of SINGLE and MULTI.
Documents optarg in ql2.proto.
Don't check the results of as_datum() for nullity.