pipeline: Initial Python conversion for Wpull.

Re: ArchiveTeam/ArchiveBot#9.

Notes:

* Using Python 3 for seesaw
* Wpull differentiates between errors and successful downloads. It's
either a download or Python error.
* Errors returned are actually just Python exception names. We use "OK"
as a fake error code for successful downloads.
* Regex errors are just printed out and ignored.
* Python argparse doesn't like empty string arguments so the arguments
have to be realized within a realizable object.
* "inline" (aka "link_inline_p" in Wget) will be returned as boolean,
not as an integer.
* "hostname" can be potentially be None (not an empty string). This is
due to the Python library's design choice.
pipeline.py: Fixes import for Python 3.
pipeline.py: Fixes str encoding for Python 3.
archivebot.py: ensure Redis port is an integer.

Some versions of redis-py can live without this; some can't.
Add sqlalchemy to requirements.txt.

wpull doesn't seem to declare this dependency (it's optional, I guess),
but ArchiveBot's usage of wpull makes it necessary.

(If there's a better way to handle this, I'm all ears.)
Adds pattern_conversion.py for Lua pattern to regex function.
Merge branch 'master' into wpull-replace/develop

Conflicts:
	pipeline/requirements.txt
settings.py: Supports Lua pattern conversion.

Passing environment variable LUA_PATTERN_CONVERSION with a nonempty
string enables Lua pattern conversion.
Ignore patterns: Lua pattern syntax -> regex syntax.
redis-lua is no longer required.
Remove get-wget-lua.sh.

There's no point in having this around when we aren't using wget-lua
anymore.
Standardize on wpull 0.26; set version to 20140317.01.

I'm sure there'll be more wpull releases from this point on, but it
seems to have stabilized to the point where we can start using it out of
the box.
Propagate PATH to wpull invocation.

Motivation: It can be useful to run ArchiveBot's Python code in a
virtualenv.  Two examples:

1. Many Ubuntu systems (still) don't use Python 3 as their default
   Python environment.  Python 3 is present, but it is easier (for me)
   to virtualenv it rather than do a bunch of PATH magic to get stuff
   set up right.

2. Virtualenv could be used to write a one-command-does-all script for
   setting up an ArchiveBot pipeline.

However, the wpull invocation from the pipeline sets an entirely new
process environment that doesn't include the virtualenv-modified PATH.
The wpull wrapper script then tries to find the wpull package, fails,
and all hell breaks loose.

This commit fixes the above problem by propagating the pipeline's PATH
to the wpull environment.  This is a bit overly broad (really, we just
need the directory of the Python executable used to run the pipeline)
but I think it should be okay for now.  Security gurus are welcome to
tear this decision apart.
Remove redis_script_exec.

redis-py's register_script does everything redis_script_exec does.
Disable Lua pattern conversion.
Update pipeline setup instructions.
Pipeline setup: remove python invocation.

run-pipeline3 will be executable with the right shebang line, so might
as well take advantage of that.
Merge branch 'wpull-replace/develop'