Closes #4. Custom routes can now be added both through plugins responding to the onBeforeRouting event as well as through the Cannoli.Application.Routing::routes configuration value. Updated routing behaviour in the case of defaults too; will no longer attempt to call the index() method if it is not present in the controller.