Add Context.has_name instead of relying on KeyError
Add and use Context.is_bound