Add the ability to pass a Proc as the namespace

This is useful in scenarios where the namespace needs to dynamically change. For example in a multitenant app:

```ruby
@namespaced = Redis::Namespace.new(Proc.new { Tenant.current }, :redis => @redis)
```