remove AttrDict

Reviewer: @Sovietaced 

There's a few reasons for this:

1. AttrDict doesn't support all the methods of dictionaries, so iterating over key-value pairs is painful.
2. Names in the REST API use '' to delimit words but that's not a legal python identifier. We have to convert '' to '_' and back in the library.
3. When constructing an object for a PUT/POST/PATCH request, you need to use normal Python dictionaries. Having the user write `AttrDict(foo=AttrDict(...))` (and the required `from ... import` statement) is too much syntactic overhead.