Rearrange default services to better anticipate another store.
Make cost estimating paths more consistent.
Split out CostModel part that obviously depends on storage. Add a factory controlled by a service to get right one.
Add a hook for tweaking cost estimates during testing.
Enable the new service.
Sketch how a random cost model might intervene.
merge MMcM: Add a cost model factory

Merge pull request #1053 from MMcM/sql-layer/cost-model-factory
https://github.com/FoundationDB/sql-layer/pull/1053
Manually clean up at the end of test that creates procedures.
merge MMcM: Manually clean up at the end of test that creates procedures.

Merge pull request #1054 from MMcM/sql-layer/test-routine-transactions-drop
https://github.com/FoundationDB/sql-layer/pull/1054
Suppress Unicode surrogate test for FTS.
merge MMcM: Suppress Unicode surrogate test for FTS.

Merge pull request #1055 from MMcM/sql-layer/fts-no-unicode
https://github.com/FoundationDB/sql-layer/pull/1055
Add missing unit test for decimal parser.
Get rid of method with ill-defined contract and stop using it.
Test fallout (incorrect decimal places in expected results).
No more index build/drop from JMX
Pull rebind(hkey,deep) out of Cursor hierarchy, implement in GroupScan_Default.
Pull {write,delete}IndexRow up to Store interface
Implement periodicCommit for Persistit and return true if commit happened
Move guts of createIndex/alterTable to OnlineHelper and use periodicCommit.
merge nathanlws: No more index build/drop from JMX

Merge pull request #1056 from nathanlws/sql-layer/remove-index-create-drop-jmx
https://github.com/FoundationDB/sql-layer/pull/1056