Perform indexing concurrently

* Index each of the index shards in a concurrent goroutine

* Count number of files/directories differently due to concurrent
  refactoring. As a result, remove count of directories from the Repo
  datastructure.

* Use interfaces to allow for easier testing of the indexing code
Cleanup last remnants of Repo.NumDirs
Merge pull request #3 from andaru/feature/index-chan

Perform indexing concurrently