Add support for release upgrades changing the emulator

This patch includes everthing that is necessary to build and deploy
release upgrades including a new emulator.

The default generate command does now generate a start.boot file for
every release. This is necessary for the failure case of emulator
upgrades.

The release-upgrade command has widely been refactored. The command
now uses the recommended way of providing library directories to
systools and makes use of the rebar_file_utils utilities.

The templates have been enriched with a new start script template
which release_handler depends on as well as the necessary changes
in the runner script to boot into the intermediate releases.