Correctly apply namespace when nesting namespaced contexts.

Previously if you have a context c,
and wrap it in a namespace "A" to give nc,
and wrap *that* in the empty namespace "" (to get back to root) to give c0,
then API calls made against c0 would be incorrectly namespaced,
because the namespace mods would not be applied with the empty namespace
(a trivial and ultimately buggy optimisation), and would therefore pass
the API call on to nc, which would apply namespace "A".

The fix here is to always apply namespace modifications in namespacedContext,
even if the namespace is empty.

Change-Id: Ieaf5c67e869d2cc9b619b922907d5c5fffde2643