Add max entries to memory store cache

MAX_ENTRIES is currently set to 1000. We switched to using an
OrderedDict because we need to be able to evict from the head of the
structure.
Add option to customize max_entries via store_opts

This only get's passed via store_opts to the actual MemoryStore.
It is ignored for RedisStore and other stores. Added guard that makes
sure max_entries isn't less than 1 as we need a dict that can hold at
least one key/value pair.
fix error in checking store type
Merge pull request #84 from denibertovic/caching_fixes

Caching fixes