Use promises to coordinate data loading

This will make it easier to handle failures among other things.

Conflicts:
	model/remotemediator.js
Refactor loading sequence to leverage promises

This was pretty haphazard, and still could use some further refinement.
We now rely on the promises exposed by the loading to coordinate
startup.

In particular responses could come back ahead of templateDidLoad which
led to problems in changing feed buttons without knowing which feed
buttons existed.

Conflicts:
	model/remotemediator.js
	ui/main.reel/main.js
Improve concatenation of params

Not as bulletproof as it should be but this was quicker than
figuring out which url library to use right now to properly resolve
the params.

Otherwise we had a situation where params might be added with an &
intend of a leading ?
Parse xhr response if needed

Apparently chrome was doing it for me, safari wasn't

Conflicts:
	model/remotemediator.js
Restore data acknowledged event to prep the flow

I've moved when we do this to be when we know the data has been put in
place. There is work to be done to resolve some of the assumptions
made throughout the application.

Conflicts:
	ui/facadeflow.reel/facadeflow.js
Fix some error handling cases
Rename model directory
Make code style more uniform
Add RangeControllers all the way.
Clear jshint errors
Remove commented out code
Merge pull request #18 from francoisfrisch/range-controllers

Range controllers
Updated icons