Ensure that context dictioary is a dictionary upon initialization
Update docs

- Show usage of deserialization API
- Add "Why marshmallow" page
- Various other updates and fixes
Move all utility functions in fields to utils.py

Also add unit tests for utils.get_value