Optimize imports
Remove section comments from gui model classes
Remove unused Logger fields from gui model classes
Use public constructors in gui model classes
Remove empty lifecycle methods in gui model classes
Rename *AccountPm => *AccountPM for consistency
Make model classes package-private
Remove #terminate method from base model classes

After removing all empty implementations of lifecycle methods (see
earlier commit), the #terminate method was no longer called anywhere
other than from CachedViewCB's #terminate method, which per its own
Javadoc is supposed to call #deactivate. Now it does just that.
Remove #initialize method from model classes

... in favor of initialization via constructors. It's fine to break out
a separate private initialization method, but it appears to be
unnecessary to formally model an initialization lifecycle distinct from
construction.
Remove generic model parameter from ViewCB

Push the presentation model field down into CachedViewCB--that is the
only place it is actually used from.
Make PresentationModel abstract
Refactor everything
Introduce Model and accept it as generic param to ViewCB
Allow ViewCB's generic M parameter to be of any type

... and begin implementing CachedViewCB#EMPTY_MODEL support
Apply template method pattern to CachedViewCB's Activatable methods

... and remove empty lifecycle methods in view classes
Remove unnecessary calls to super() in view classes
Remove null checks in CachedViewCB activation methods

... as model can never be null
Introduce Activatable#NOOP_INSTANCE

... and use it instead of CachedViewCB#EMPTY_MODEL
Declare (Cached)ViewCB classes abstract
Rename *ViewCB => *View