Change context API from hash access to method access

This changes the internals of the context from a SimpleDelegator
delegating to a provided hash, to an OpenStruct. Context values are
accessed via setter and getter methods. Unset methods return nil.

In Ruby 2.0 and later, hash access is still available but is not
explicitly supported.
Remove the activesupport test gem dependency