OrderKey refactoring.

Hi Brian,

This pull request should do the majority of changed we have talked of.

It is contain 800 added and 1000 removed lines, negative net!

Remaining nontrivial items:

1. Factor out secondary key increment code into a separate file.
1. Initial stream creation should be simplified.
1. Add a default stream definition macro with a default secondary key type.
1. Add a test for different values of ```ConfigValues```.

New files:
1. src/magic_order_key.h.  I suggest we rename it to just order_key.h right after the destiny of this PR is settled.

Deleted files:
1. src/entry.h
1. src/generic_order_key.h
1. src/key_schema.h
1. src/order_key.h
1. src/ranged_data.h
1. src/storage_key_builder.h
1. src/stream_instance.h
1. src/stream_manager.h
Another good point to take offline.

We only care the delimiter value to not be 0xff, since that would break the end key construction logic.