CRM-14439 - Fix WP breadcrumbs forceBackend=1 and consistently respecting that option

Like #2858, this fixes CRM-14439; however, unlike CRM-14439, it doesn't care
if you ever call the System.flush API, and it doesn't care if "flush" means
"truncate civicrm_menu" or "truncate and refill civicrm_menu". In this way,
it's a more correct fix.

The main source of risk in this patch is that it changes the intricate
CRM_Utils_System_WordPress::url().  FWIW, some quick spotchecking on our
wp-demo build shows that it computes decent URLs for the backend pages as
well as the short-code-based "/contribution-page" WordPress page.