Check for sticky dates.

If a previous build did check out a specific "revision" (timestamp)
we can't update the directory with cvs update (unless we use -A).
Upload the CVS/Entries file from the slave and check for any sticky
dates.

Entries look like this:

/Filename/1.1/Fri May 17 23:20:00 2013//D2013.10.08.11.20.33
D

Just make sure the last field of each line does not start with D
(and skip the final line)
Use proper workdir and srcdir.

- Use this.srcdir for 'copy' method's source checkout.
- Keep track of the workdir, don't assume its called 'build'
same fix for git. use "old_workdir" as in svn.py
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).
Check that all steps have a non-None name (fixes #2501)
render flunkOnFailure and related attributes of BuildStep; fixes #2486
Fix the tests, add a test for sticky dates.
Refactored CVS step copy method.

Pulled out CVS/Entries parsing into
"_cvsEntriesContainStickyDates(entries)". Tests should still pass.
On Python 2.5 and 2.7 install txrequests

Required for several tests:

buildbot.test.unit.test_steps_http.TestHTTPStep.test_404
buildbot.test.unit.test_steps_http.TestHTTPStep.test_POST
buildbot.test.unit.test_steps_http.TestHTTPStep.test_basic
buildbot.test.unit.test_steps_http.TestHTTPStep.test_header
Add Makefile target for running pep8 and pep8 configuration

Currently pep8 configured to ignore ALL errors that occures in Buildbot
code.
Run pep8 on Travis
Fix pep8 issue E101: indentation contains mixed spaces and tabs
Check only master and slave subdirectories with pep8

www/ subdirectory contains third party Python scripts which coding style
is not interesting to us.
Fix pep8 error E111: indentation is not a multiple of four

File master/contrib/buildbot_json.py was completely excluded from pep8
analysis because it uses two spaces for indentation.
Fixed tests broken by b40ac18
Added test for _cvsEntriesContainStickyDates
Release notes
Fixed CVS, Git source step "copy" method tests.
Use --init when updating submodules of a repo.