stabilized init order
stabilized init order

When the dispatcher is not initialized due to an Exception the dispatch
method is called on a non-object resulting in a fatal error.

This has been fixed by re-ordering the code of the init() method slightly.

Additionally the order has been streamlined further a little checking for
input first and doing an early exit in case the Application is already
initilaized.

Further additionally some array typehints have been added.

EmPeWe/n98-magerun,kojiromike/n98-magerun,kojiromike/n98-magerun,TriplesenseReply/n98-magerun,adam-paterson/n98-magerun,bluec/n98-magerun,pocallaghan/n98-magerun,twslade/n98-magerun,oasisfleeting/n98-magerun,chadbean/n98-magerun,bluec/n98-magerun,therouv/n98-magerun,pocallaghan/n98-magerun,twslade/n98-magerun,adam-paterson/n98-magerun,chadbean/n98-magerun,oasisfleeting/n98-magerun,tkn98/n98-magerun,pocallaghan/n98-magerun,therouv/n98-magerun,kojiromike/n98-magerun,EmPeWe/n98-magerun,TriplesenseReply/n98-magerun,tkn98/n98-magerun,adam-paterson/n98-magerun,oasisfleeting/n98-magerun,chadbean/n98-magerun,tkn98/n98-magerun,twslade/n98-magerun,EmPeWe/n98-magerun,bluec/n98-magerun,TriplesenseReply/n98-magerun