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
Yes, the entry object should be able to get and set the [primary] order key of the corresponding type.

We generally advise against serializing it into the entry object, since it is used as part of the key itself.