Relaxing rules on CoreContext::Construct, adding unit test

There are use cases where a type will need to be constructed in a context even if it also provides a default ctor.  We're just going to have to live with these cases, and allow clients to deal with the ambiguity that might result if they construct a type with varying args in the same context.