Explicitly state that used /bin/bash shell in Makefile

Code

    $(shell if [[ `tar --version` =~ "bsdtar" ]]; ...

written using Bash double-bracket conditions syntax.  When (default on
some platforms) /bin/sh interpreter used this code outputs error (but
luckily works as required):

    /bin/sh: 1: [[: not found
Use declaration-time expansion assignment for $(shell ...) variables

Not important in this case actually, but recommended for such cases in
general (so that shell expression evaluated only once).
Changed .has_key() to using in.
Fixed syntax errors.
Revert unnecessary change.
Changed .has_key() to in for slave/
Enable W601
Changed |not "action" in| to |"action" not in|
Fixed some has_key stragglers.
Use make conditions instead bash conditions

Suggested by @jpommerening.
Add missed spaces around ':='
pep8 was being confused by properties.py's has_key property. Changed to has_propkey to avoid this confusion.
Merge branch 'fix_docs_makefile' of git://github.com/vrutsky/buildbot
Don't overwrite RETRY status when handling interrupts.
Merge branch 'dont-override-retry' of git://github.com/bhearsum/buildbot
ignore http proxy env variables during http step tests

When running unit tests of buildbot.steps.http, ignore http
proxy environment variables. Otherwise tests will try to make
http requests via proxy if for example 'http_proxy' variable
is set.
Merge branch 'http-step-proxy' of git://github.com/elmirjagudin/buildbot
Merge branch 'change_haskey' of git://github.com/ewongbb/buildbot