removed $injector.instantiate

Following on from previous commit, this is designed
to make the injector simpler. By removing instantiate it also
prevents early loading on script execution that could lead to
problems if scripts are loaded out-of-order.
Introduce array dependencies to injector

Many places require registering of multiple 'providers', so
allow indicating a dependency should be an array (e.g.
$injector.provide([['anArrayDependency'], 'aNormalDependency'], ...)

Also allows the removal of the 'annotate' function from injector
public surface (was used by bootstrap.js)