Swap orddict for dict in orswot and map

After a report on IRC of Maps with 13k set elements inside taking up to 80seconds to merge, I ran some benchmarks comparing `dict` and `orddict` (as I had a suspicion this was the bulk of problem.)

This PR swaps orddict for dict. There may well be many more optimisations to do, but as the attached graph, and tables below show, this is a mighty big speed up.

This plot is insert times for dict vs orddict in an orswot.
![insert times into a set](https://cloud.githubusercontent.com/assets/56321/5312387/c4693bca-7c50-11e4-89b3-327e47a8d74a.png "Insert times, orswot, dict vs orddict")

Merge times, orswot, fully probably* fully disjoint sets with probably** 20 actors orddict vs dict (times are microseconds)

[*Probably fully disjoint as crypto:rand_bytes(30) was used to generate elements, they could clash I guess. **Probably 20 actors as actor chosen at random from a list of 20 randomly generated 8 byte actor ids, but if you have fewer than 20 elements, unlikely you have 20 actors, eh?]

Elements|orddict|dict
----|--------|------------
100000|1455538575|745421
10000|9621000|39468
1000|99874|3286
100|1467|428
10|54|64
1|11|24

--------
This plot compares merge times for the code that used lots of simple set operations, vs. an uglier, single fold over the unioned keyspace of the map.

![merge5_times](https://cloud.githubusercontent.com/assets/56321/5312869/1474f160-7c59-11e4-946f-0dad9dd52331.png)
Might be good to wrap this in an ifdef so that we can provide 17-compatible typespecs as well. Copy-pasta from some other repo that does it should be sufficient.