adding :is_null to Cache

adding :is_null property to so that application code can check if the cache is NullCache without having to know the internal workings of the Cache class.

Also added back the `self.app = app` to keep behavior between `Cache(app)` and `Cache().init_app(app)` the same. atm it's falling back to `current_app`, which is unnecessary.