feat($controllerProvider): Controller code resolution through DI.

Allows array-notated constructors to use a controller name for their constructor
function, which permits reuse of controller code with different injectables.
Previously, we had to declare a function in the global context to actually reuse
functions with different injectables.  Now we can declare a controller
constructor inline and refer to it in other controller declarations through the
array notation.