Adding support for ActivateAttribute via IControllerActivator

This mechanism replaces code in Inject that activated properties
by looking them up by names.

First draft as a POC. Tests will come in later iterations.
caveat: since you're not using a lambda

`
_propertyLookup.GetOrAdd(context.Controller.GetType(),  GetPropertiesToActivate);
`

will allocate a `Func<Type, List<PropertyInfo>>` every call. You can cache this into a field to remove that overhead. Then GetOrAdd is fine - the real perf anti-pattern is using GetOrAdd with captures.