Use proxy object to initialize Redis instead of using pyramid.registry.

The `RedisProxy` implementation allows late binding of Redis instance.
Before this implementation, Redis is initialized inside `main()` and
assigned to `pyramid.registry` for future use.

Under such implementation, accessing Redis in some situation require
usage of `get_current_registry` when request object is not available.
However after `RedisProxy`, Redis instance could now be accessed via
`redis_conn` inside model.
Update test case, add test case for RedisProxy.
Merge branch 'feature/redis-init' into develop