a stateless "goldilocks" api

keeps current watch() api, but makes it "stateless" if RP doesn't want
session management. to indicate this, simply don't pass an `onlogout`
handler to watch().

navigator.id.watch({ onlogin: function(assertion) {} });
navigator.id.request(optionsAsNormal);
update db for convict's falsiness
Merge pull request #3993 from seanmonstar/convict-breakage

update db for convict's falsiness
Merge pull request #3961 from seanmonstar/goldilocks

a stateless "goldilocks" api
add cassandra client, stub out methods
super rough WIP schema draft, stopping for the day
Start porting SQL to CQL for simple user table queries
Start inserting SQL/CQL for email table queries
We already were enforcing type enum at app level.

    I was wondering about this, since I'm not sure CQL has a corresponding
    ENUM (see the deleted comment).
Add idp table and CQL queries
Add staged and staged-secret lookup tables.

    Also actually fix the schema strings so that the file parses.
add CQL for queries against staged table
blerg, out of steam. WIP commit placeholder
First pass done. onto checking syntax of CQL queries
use timeuuids instead of uuids for NOW() func convenience
boolean type, not bool type
don't include email in primary key if you want to look up email from user
You can't 'SELECT foo AS bar' in CQL
Replace client-side now() with cqlsh NOW() everywhere except 1 spot
update TODOs for the schema as a whole