Switching the order of retry and fallback caching.

 Previously retry was attempted before the fallback cache was hit.  This had two problems:

 1. Many times you'd prefer the fallback cache to hit first, and for it only to retry if
there was nothing in the fallback cache.
 2. This duplicated the fallback functionality provided by the `BasicMakrutCommand`, which
is designed to fire after any retry attempts.

This change switches the order.  It also corrects a minor bug that prevented reporting
fallback cache hits/misses correctly.