Adding support for ActivateAttribute via IControllerActivator

This mechanism replaces code in Inject that activated properties
by looking them up by names.


There is a slight mixup here between action context and controller object. 

I think the design for the activator should be based on the actual controller object, and preferably not rely on the controller being available on the action context at all.

I would suggest we activate an object, and take action context as a way to get data for it.

`Activate([NotNull] object instanceToActivate, [NotNull] ActionContext context)`

This interface is also somewhat limited, if a user ever want to pass more data the actioncontext and actiondescriptors have no way to pass around arbitrary data (unless you consider the request bag)