add *.bak, *.pyc & *.pyo files to .gitignore
fix building the client from a folder whose path contains spaces

setup_client.py passes paths to the underlying b2.exe executable using the '-s'
Boost Build/Jam command-line option. Boost Jam parses such data as a space
separated list of values so all paths we send here need to be quoted.
pass absolute BOOST_BUILD_PATH when running b2.exe from setup_client.py

Before this change the passed BOOST_BUILD_PATH was invalid since the b2.exe
process was getting run from a different folder (Executables/Client). The build
worked only by coincidence as it uses the BOOST_ROOT global variable to
indicate Boost library installation to use, and Boost Build has a backward
compatibility feature (Boost Build v1 related) to attempt to find its build
system files using that variable in case it can not locate them using
BOOST_BUILD_PATH.
rename BOOST_ROOT to BOOST_PATH to avoid accidental Boost Build interaction

Boost Build uses the global BOOST_ROOT variable as a part of a v1 backward
compatibility which may cause accidental interaction with our built (was hiding
another bug with an invalid BOOST_BUILD_PATH value getting passed to Boost
Build fixed in a prior commit).
make setup_client.py pass all paths to b2.exe consistently

Before we were passing all the path information except BOOST_BUILD_PATH using
Boost Build/Jam's '-s' command-line option while the BOOST_BUILD_PATH was
getting passed using an environment variable. Now BOOST_BUILD_PATH gets passed
using '-s' as well.
fix Boost Build/Jam syntax error in 'missing parameter' error reporting

Was missing a trailing semicolon on one line and was redundantly attempting to
import the errors module twice.
fix get-jam-var() Boost Build rule return value

In Boost Build/Jam scripts the 'return' statement does not immediately exit its
rule so we need to make sure a 'return' is the last executed statement in its
rule.
fix unescaped backslash usage in a Python string literal
add spaces around the ** Python operator