Add concurrent safe increment only counters module

The counters module provides a string to uint64 map with Get,
Inc(rement) and GetAll (return the map) functions. All pending
writes (increments) complete before reads, and values may wrap
around when they are incremented beyond math.MaxInt64.
Remove unnecessary mock

KeyValueStorer testing can be performed live, as there's the basic in
memory database form.
Test KeyValueStorer implementation constructors
Indexing bugfixes and infrastructure improvements

* Be gracious in what we receive: allow the Root of an IndexQuery to be
  terminated with the path separator (e.g., '/') or not.  Add tests of
  the new `rootstripper` that performs this work, including for the
  regression found in the existing naive splitter. Also fixed an issue
  in `getroot`.

* Repo: add `Stale(Time.duration) bool` function, asking to be told if
  the Repo is stale based on the stale duration provided. Along with
  this, `Repo.TimeCreated` becomes `TimeUpdated`. This attribute is only
  updated by the local indexer implementation, to aid the next feature.

* API: when answering an indexing query, in api/index.go `doQuery`, use
  the `Stale()` function and a configurable repo stale timeout via
  `afindd -timeout_repo_stale=<number seconds>`. The default value stale
  timer is 12 hours.

* Add a `Files` attribute to `IndexQuery`. Not yet implemented.
  This will allow a slice of individual files to be added to the
  repository, as `Dirs` adds whole directories recursively.  Further
  indexing refactoring is due shortly that will add the `Files`
  implementation..

* Unclutter the `afind repos` output format a little.