Hopefully fix rotation from going blank.

I had assumed that onRestoreInstanceState would create views,
but it simply sets data in views by id, if the views exist.
Add SourceField, TargetField, and associated classes.

These will eventually replace PortableField and should be MUCH faster and simpler.
Make EntityType support specifying AdaptableFields, and add TargetType of SelectUI.
Move MapStorage to the node package and extract reusable code.
Simplify logic by adding some more classes in the hierarchy.
Extract MapTargetField and add it to AndroidPlatformDriver.
Support SourceField for MapStorage.
Extract AdaptableFieldByType.
Make Source and Target be typed with a manifest instead of a SourceType or TargetType.

This makes it feel less arbitrary between Source, Target, SourceType, and TargetType
Also make TypedSourceField and TypedTargetField not require a Source or Target instance.
Fix failing test.
Add todo for PlatformDriverSpec.
Make Source and Target simply be whatever AnyRef is passed in rather than types.

This simplifies the model and eliminates wasted memory allocations (which matter on Android).