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
I am not convinced that this constructor should be public.
I am fairly certain that we should create a StreamCreator function and make it a friend to stream.