Fix ERR syntax for prerequisites
Create FWROOT and ensure consistent ENV
Enable framework-specific install directories and environment

This commit is my proof-of concept, only the 'go' test works right now.
You can look at go/ to see the changes required on a per-framework
basis - essentially I've modified go/setup.py to move the declaration
of the environment into go/bash_profile.sh

Each framework now gets a personal <framework>/installs directory, and
can declare any needed environment variables in
<framework>/bash_profile.sh, such as modifications to the PATH.

The FwBm code now provides an FWROOT environment variable to
*all* shell scripts (instead of ~/Frameworks being assumed).
Also, an IROOT environment variable is provided to any framework-specific
files (e.g. install.sh and bash_profile.sh) for the location of the install directory
for that framework. See go/bash_profile.sh to see me using both IROOT and
FWROOT.

By using IROOT, the strategy for installation is still controlled by python code and
the frameworks just reference IROOT and FWROOT in their scripts. These
variables are a nice step towards solving #448

The new function replace_environ in setup_util.py goes a long way towards
addressing #899 - as you can see I've removed all the changes to the ~/.bash_profile
from prerequisites.sh (and this commit serves as proof that everything still works) and
most of the changes from config/benchmark_profile
Generalize framework-specific install directories

- adds an '--install-strategy' option
- framework_test properly sets the install location before calling setup.py
- removes '--install-software' option (checks for '--install' instead)

Still proof-of-concept, only 'go' works!
Use FWROOT in bash_functions for cleaner output
Minor improvements
Install web servers into docker containers

Introduces --docker flag
Use docker 1.13 api