Add StartupException and subclasses.

This change adds StartupException, and subclasses InvalidConfigurationException,
and UnsupportedPlatformException. StartupExeceptions can be thrown by the
Adaptor.init() method to immediatly abort Application startup.
StartupExceptions bypass the Application retry with back-off wait recovery
mechanism that will re-attempt to start the adaptor in hopes that a recoverable
error has been corrected. Therefore StartupExceptions should be thrown for
unrecoverable situations, such as running on the wrong platform or a
configuration that could never be valid.

Code Review: http://codereview.appspot.com/99980043
5 files changed