Add extra safety to unmarshaling to enums.

Removes existing TravelModeAdapter, AddressTypeAdapter and AddressComponentTypeAdapter, replaces them with generic SafeEnumAdapter.

Add tests that check converting UNKNOWN to a UrlValue throws an exception.
Merge pull request #38 from broady/unknown

Add extra safety to unmarshaling to enums.