Addons autoload generic addon with no main defined

Addons will autoload folders in the treeFor hook with the same name if no
ember-addon + main file is specified. They can also export an object instead
of a function that will be extended off of the Addon constructor.

In AddonLookup I am using the try-catch to allow addon folders with no index.js
defined to still be found and used. This is different than how the blueprints
have it implemented [here](https://github.com/stefanpenner/ember-cli/blob/master/lib/models/blueprint.js#L411).
This same thing could likely be implemented in a separate PR to not require
blueprints have an empty index.js file.

A few (related?)quesions:
Should we have deprecation warnings on `ember-addon-main` and/or exporting
a function instead of an object from addons.

I'm for deprecating them both as it's just more to maintain later. I'd rather
have a single path for addons instead of allowing each one to do things different.
@stefanpenner I made the update using resolve.sync which still requires a try catch. The reason I used the sync is that `initializeAddons` is currently sync and it would mess with all the places that call it. I could do that if necessary though(only 4 places)