RFC: Added DefaultDict

This is a `DefaultDict` implementation which mimics the Python implementation of the same.  

~~Need to add docs and tests, but the basics are here.~~

Now includes docs and tests. 

Some examples (from my updates to the README):
```julia
## Constructors
DefaultDict(default, d::Associative=Dict())  # create a DefaultDict with a default value or function,
                                             # optionally wrapping an existing dictionary
DefaultDict(KeyType, ValueType, default)     # create a DefaultDict with Dict type (KeyType,ValueType)

# Examples
dd = DefaultDict(1)               # create an (Any=>Any) DefaultDict with a default value of 1
dd = DefaultDict(String, Int, 0)  # create a (String=>Int) DefaultDict with a default value of 0

d = ['a'=>1, 'b'=>2]
dd = DefaultDict(0, d)            # provide a default value to an existing dictionary
dd['c'] == 0                      # true
d['c']  == 0                      # true

dd = DefaultDict(time)            # call time() to provide the default value
dd = DefaultDict(Dict)            # Create a dictionary of dictionaries
                                  # Dict() is called to provide the default value
dd = DefaultDict(()->myfunc())    # call function myfunc to provide the default value

# create a Dictionary of String=>DefaultDict{String, Int}, where the default of the
# inner set of DefaultDicts is zero
dd = DefaultDict(String, DefaultDict, ()->DefaultDict(String,Int,0))
```

I could make a separate package if that is preferable, but this does seem to at least go with the Accumulator/Counter type (and in fact, could provide an alternate implementation of those).  The coding/writing style might be slightly different, so I'm open to any thought/suggestions.