Added support for serving multiple directories

Also did some refactoring and bug-fixing, summarized below.

Backend
        Replaced the moviePath command-line argument with a custom
        moviePaths map. It takes a new key-value pair for each '-path'
        command-line argument. The key names a location and the value
        is the path for the location.

        Did away with the heartbeat lock. Instead we use transactions
        on the repeatable-read isolation level to maintain consistency
        between queries in a transaction.

        Made the file count map threadsafe. Just wrapped reads and
        writes with a RWMutex.

        Refactored the directory walking and tarring into one file and
        a custom walkDir function

        Started ignoring symlinks as well

Frontend
        Now we query for the tableKeys and create separate
        filter/grid/paginator objects for each

        Added facilities to switch between views

Tests
        Remade the tests to run with every named path