allow ControllerCollections to mount ControllerProviders

Moves the logic for calling a ControllerProvider's connect() method into the ControllerCollection's mount function. This allows Controllers that have already been mounted to themselves mount ControllerProviders (just like Application can). Addresses issue #1017