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.
Merge pull request #417 from rantecki/patch-2

Updated models.py -> invalidate_cache()