revert: fix($compile): always instantiate controllers...

fix($compile): always instantiate controllers in parent->child order

This reverts commit 683fd713c41eaf5da8bfbf53b574e0176c18c518.

It turns out that there is some existing code that relies on the
incorrect timing. Rather than breaking these apps that depend on
stable releases, we are going to keep this changeo only in master
and the apps will need to migrate to the correc timing during the
1.2 upgrade.
revert: fix($compile): correct controller instantiation...

fix($compile): correct controller for async directives

This reverts commit 51d32243fe8cfbdcd1b647950d4e99ed57677558
as well as commit   9c51d503188efae14b81bd4d6dd7d5a3363f050f

Changing ordering of events in stable branch is not a good idea.