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 will be better to use [`ensure_dir`](https://github.com/learningequality/ka-lite/blob/master/python-packages/fle_utils/general.py#L134) rather than reimplement it from scratch.