Added/updated various dictionary, set variants

* OrderedDict (new)
* OrderedSet (new)
* DefaultDict (updated)
* DefaultOrderedDict (new)

The PR for this commit contains a detailed explanation of
the evolution of OrderedDicts
Merge pull request #6 from JuliaLang/kms/dict_variants

RFC: Addition/update of various dictionary, set variants