Make stats more robust in the face of failure

In some cases underlying ets tables for stats go away. When this
happens the effected stats break and stay broken.

When a stat is broken the stat calculation throws an error. For
the sake of robustness this commit wraps stat calculation in a try
catch, and returns the atom `unavailable` if a stat cannot be
calculated. Broken stats are expected to be detected and repaired
when they are updated.
Merge branch 'kv505-serve-from-cache' into kv508-safe-stats
Address review comments
Merge pull request #287 from basho/kv508-safe-stats

Make stats more robust in the face of failure