Updated models.py -> invalidate_cache()

A problem occurs when using `best_match_for_path()` if the desired path does not already exist at creation time.  On first run, `best_match_for_path()` will populate the cache with the best possible match.  When the user creates the actual desired path however, the cache is never updated as the code only flushes `_original_cached_url` (which is empty for a new page).

This is resolved by *also* flushing `_cached_url` at the same time.