RFC: OrderedDict v1

* Includes tests
* Updated OrderedDict, misc. other docs
* Regenerated helpdb.jl

This version is slightly slower than the version at https://github.com/kmsquire/OrderedCollections.jl and discussed in #2548, but thanks to @JeffBezanson pointing out some flaws in my early attempts, it's cleaner and not much slower, and most importantly, it doesn't depend on the internal implementation of `Dict`.

Compared with `Dict`, it has ~40% insertion and ~50% deletion overhead.  

The version at https://github.com/kmsquire/OrderedCollections.jl has a similar insertion overhead, and a ~10% deletion overhead.

~I can submit the version at https://github.com/kmsquire/OrderedCollections.jl instead (which is a simple modification of `Dict` in `julia/base`), or make that one available via a package.  Other suggested updates or improvements are welcome.~  (Done.)

__EDIT:__
I would appreciate any feedback on this version vs. the one based on AbstractHashDict in #2548.  My own take is that this one is a bit cleaner, and that one is a bit faster, but somewhat invasive.  @JeffBezanson expressed some concern about the other version earlier, but still seemed open to exploring it.

It may be the case that a doubly-linked list version of `OrderedDict` is better, so someone should feel free to contribute that as an alternative (or addition).