Bug 850753 products download

__NOT READY TO MERGE__

This is a place to discuss the direction of this work. Things to look at:

* New middleware for working around the funfactory handling of the `lang` query parameter.
* The JS needs refactoring.
* Other things I'm sure @sgarrity knows about that have changed since the original work.