FixedArray & Sorted

This implements two different wrapper structs.

Sorted is designed as a wrapper around a random access range or a container that guarantees  that all elements are stored in sorted order. It should offer all primitives that std.container.Array does plus those that require log(n) search, like lowerBound, upperBound and equalRange.

FixedArray takes a random access range and offers an interface similar to std.container.Array using this range as storage. This is used by std.container.Sorted and could be used by std.container.BinaryHeap as well.

Neither FixedArray nor Sorted use RefCounted to keep track of it's storage, see and answer
http://forum.dlang.org/thread/uapqmdbtadpwnciwfdwn@forum.dlang.org
if you don't agree.

What do we count with our O-notation? Number of swaps or number of comparisons or both? 
insert(v) requires complexity n_x * log(n_c) as well. Best thing to do would be linearInsert, because inserting with a O(n_c) number of swaps is possible.