Updated readme to complete the steps needed to clone, build and run the SQL-Layer
Typo update
minor updates
extra tweaks
minor additions
Update the CursorBase to include the new states for the cursor. 

Expand the CursorLifecycle to include cursor states and checking. 

Update OperatorExecutionBase to match CursorBase
Update ChainedCursor to have the complete state changes management from
CursorBase implemented. 

Review all the simple cursor uses and replace as possible to use the
ChainedCursor with the consistent state transitions and verifications.
LeafCursor update. Leaf cursors are (as the name implies) at the leaf of
the operator tree, hence getting their rows from something other than an
input operator cursor. This has some fallout effects on cursors
generated elsewhere.
Add MultiChainedCursor, for processing operators with two inputs and one
output.
RowCursorImpl - A lower level implementation of the RowCursor interface
to capture all of the CursorBase state change information for the
remaining uses of RowCursor. These are largely not Operator cursors but
are scattered throughout the system: Index and Group cursors for
scanning store data, Spatial cursors, FullText cursor, Sorter cursors.
QueryBindingCursor -> Interleaved work with the bindings cursor. 

Updated the OperatorITBase cursor state test to be accurate. 

All files compile, but no tests run.
Two fixed from test failures in the base tests. Base tests now all pass.
Had some tests for hash join types other than inner.
Add tests for the several type-related problem cases.
Rework how key-comparables and collators are passed to the hash join operators.
Use these properly and in a way that isn't confused by slightly varying types.
Another types-related test.
Row hash table only optionally matches nulls.
Clean up some of the missed RowCursor.destroy() uses by odd corners of
the code. 

Get the RestServiceITs to pass, as well as GroupLookup_DefaultIT, which
was the source of many problems. I anticipate the enhanced state
checking will keep me busy for a while. 

Correct the assumed cursor states in the
OperatorITBase#testCursorLifecycle().
Next round of fixes. Tweaking location of open/close in
AncestorLookup_Nested$readAncestorRow()

Add working jump() call to ChainedCursor to allow tests to work
correctly.

Remove a redundant method call from MergeJoinSorter$KeyFinalCursor
logging jdbcstatement and rest errors