Modifying async to be compatible with multiple different scans.

Currently the way that scan results are cached in the async scanner is
only compatible with running a single review on a single theme. In the
future we want to support the ability to scan a number of things with
different reviews as needed. This change makes the caching side of the
async scanner compatible with that goal.

As a result of how results are saved, the ajax api was also changed to
only give a summary of the current results. This is most meaninful in the
above scenario.

Additional logic will need to be added at a later date for meaningful ajax
apis when the scenario is implemented.

See #73