Add ability to totally disable simulation cache

Even thing that have cache=True will not returned cached results
(though they will store it). The inverse is not true, enabling
the cache turns caching on only for things with cache=True.
Merge pull request #86 from synthicity/cache-disable

Add ability to totally disable simulation cache

- `sim.disable_cache()` turns caching off
- `sim.enable_cache()` turns caching on
- `sim.cache_on()` reports whether caching is currently on (True) or off (False)