Added object caching to CLI tests

I chose to have the caching off by default.
Initial tests show time savings between 4-8 minutes for all CLI
tests.
Can this code be made more compact? It's a simple thing, but something like this would be amazing:

```python
def cacheable(func):
    """Makes an optional object cache available"""

    @wraps(func)
    def cacheable_function(options=None, cached=False):
        """Some docstring."""
        object_key = func.__name__.replace('make_', '')
        if cached is True and object_key in OBJECT_CACHE:
            return OBJECT_CACHE[object_key]
        new_object = func(options)
        if cached is True:
            OBJECT_CACHE[object_key] = new_object
        return new_object

    return cacheable_function
```