(CE-1051) Properly cache when a SharedHelp article doesn't exist

When a SharedHelp article doesn't exist, the request returns a 404
and the SharedHttp call returns false, which wasn't being checked
before.

Also, the cache key was using $wgSharedDB to make a shared cache key, but
$wgSharedDB is different for each cluster (i.e. wikicities_c*), so we
were needing to cache once per cluster unnecessarily. Instead, this
switches to using wfSharedMemcKey which will create a truly shared key.

/cc @macbre