Add downloads controller inital work

# Todo list for 3.1 release

- [x] Get JSON file
- [x] Work out JSON Schema
- [x] Generate packages when not updating necessarily
- [x] Controller
- [x] Caching
- Add in extra info
    - [x] Hashes
    - [x] URLs etc.
- [x] Generate packages when update from version is selected
- [x] Generated versions available to update too
- [ ] Move across and integrate template stuff
- [ ] Make 3.1 branch part of packages.json file
- [x] Add cache http response headers
- [ ] Use finder component, not filelocator.
- [ ] Test it

# General Todo list

- [ ] Add language pack support
- [ ] Add download page redirect with logging and a MQ
- [ ] Auto generate json file