Close #3: Add dictionary type

- New methods hasProperty and property added to Type interface
- AbstractDictionary added
- Tests for AbstractDictionary