Cosmetic changes
Closed #4: Added dictionaries support

Also handled exceptions when trying to read non-array as array and
non-dictionary as dictionary.
Finished conflicting types support

- Changed FormatException to InvalidCastException
- Fixed getting array keys using GetKey returns value of obj.ToString()
- Added test support for exceptions
- Added test.