Make HTMLLogFile extend LogFile.

If logfiles were pickled with the "html" property and fake an open
logfile. Allow specifying a maximum size for logfiles to be embedded
in the pickles, otherwise just use the mechanism provided by LogFile.
keep html property for small logfiles
fixed my indentation

That's it, I'll add it as a pre-commit hook
Add StringParameter 'required' parameter test
Merge branch 'master' into html-logs-in-pickles

* master: (47 commits)
  Fix docs/conf.py to work with sphinx-1.2.2
  pep8
  be sure run() returns a status and doesn't call finished or failed
  warn on use of old-style log methods in new-style steps
  prohibit use of step.step_status in new-style steps
  add step.*Statistic methods for new-style steps
  add docs for setStateStrings
  add step.setStateStrings
  backport ShellMixin and CommandMixin from nine
  cmd.add* return deferreds
  return deferreds from addHTMLLog and addURL
  return deferreds from addLog, addCompleteLog, and log.add*
  update docs for statuspng
  fix pngstatus test
  png status by revision hash
  fix pngstatus if the build is currently in progress
  Docs: add an 'import' in one spot to make the recipe easier to swallow
  fix docs regarding removal of LoggingBuildStep
  Fix w3c validator issues.
  Fix w3c validator issues.
  ...
Fix StringParameter required option when using blank value
Stub out tests
implement some tests
Store all new logs in files.

Embedding smaller logs in the pickle was a stupid idea.
fixed the cleanup-gone-wrong
Merge madazone/buildbot:stringparameter-required-test (PR #1084)
Merge jpommerening/buildbot:html-logs-in-pickles (PR #1077)
Gitlab: allow codebase arg
Update docs and unit tests for the gitlab change
Merge jaredgrubb/buildbot:gitlab-allow-codebase (PR #1092)
tweak docs
autopep8
Implement more thorough shell command line escaping on Windows

On Windows, when a command is specified as a list, it's executed via a
batch file. Previously, the shell escaping being done in the process
was quite minimal (only pipes were being escaped), and not entirely
correct (for example, an argument of 'a | b' would get escaped to
'"a ^| b"', which is wrong, since the shell ignores carets inside quotes.

This commit expands the escaping logic to cover all shell special
characters that I know of. For compatibility I kept the exception
that lone pipes are not escaped (although I'd rather I hadn't).

I expanded the test for the embedded pipe symbol into a more generic
special character test, and made it no longer Win32-only, since on any
platform it doesn't hurt to check that special characters in arguments
are correctly passed through.
Use win32_batch_quote in shell_quote
added force mode issue #956 on buildbot tracker