Rename Properties to Properties.Map

--HG--
rename : tests/Properties.hs => tests/Properties/Map.hs
Split common test code into its own module

--HG--
rename : tests/Properties/Map.hs => tests/Properties/Common.hs
Fix some silly bugs exposed by QuickCheck
Add QuickCheck tests for the Set type

This exposed quite a few silly bugs, which I fixed in the previous
commit.

--HG--
rename : tests/Properties.hs => tests/Properties/Set.hs
Implement mapKeysMonotonic.
Fix mapKeys test not being run.
Implement mapKeysWith and rewrite mapKeys.
Conditionally drop a set test
Conditionally drop a map test
Merge pull request #67 from archblob/mapKeys

Implement mapKeysMonotonic and mapKeysWith.
Introduced `equal`
Introduced `internal`
Introduced `above`
Replaced `direction` by `onLeft`
Introduced `setLeft`/`setRight`
Introduced `findPosition`
Introduced `setLeft'`/`setRight'`
Replaced `calcDirection`, `byteCompare` and `equal` by `diffOrd`
Bug fixed in `split`
Bug fixed in `splitLookup`