Feature/2237 auto generate screenshots for user manual

Hi @aronasorman - this is for #2237... still a WIP but already working, see ToDos section below.

This PR has the `python manage.py screenshots` management command.  It needs the `/kalite/distributed/data/screenshots.json` to take screenshots using Selenium firefox webdriver.

It auto-creates another sqlite3 database on `/data/screenshots/screenshots-data.sqlite` and also saves the screenshots (.png files) on the same location.  It then deletes that sqlite3 database when done.

It inherits form the `KALiteDistributedBrowserTestCase` class for reuse.

There's a documentation at `/docs/screenshots.md`.

**ToDos**

1. Complete the `screenshots.json` based on the User Guide v0.12.x
1. Need data on what account to use for the KA-Lite Hub to simulate selenium web browser - unless it's ok to just create another user for the device registration and Hub signup.
It's used to track the last user that is logged-in to the browser so that we don't have to re-login the same user again.  I tried looking for an equivalent from the inherited `KALiteDistributedBrowserTestCase` but couldn't find one, closest is the method `browser_is_logged_in()` - I think that'll be useful. :)