Removed ExtensionInstaller and split it into Register and
ExtensionRegister.  The process now goes like this.

 - Register extensions with Register.
 - Extensions are registerd with ExtensionRegister.  From a path
 - from a build pack or from an application.
 - When all extensions have been registered, called done().
 - This will trigger the first call back for the extension (coming
   soon).
 - Extensions are installed by calling Installer.extensions().  This
   calls the compile on each of the extensions.

The remainder of the extension process is the same.  It goes like this.

 - `preprocess_commands` is called when StartScriptBuilder.write() is
   called.
 - `service_environment` is called when
   SaveBuilder.runtime_environment() is called.
 - `service_commands` is called when SaveBuilder.process_list() is
   called.