Separate blocking and non-blocking popen calls

More details here:

http://russ.garrett.co.uk/2011/12/16/green-threads-and-pipes-in-python/
Initial encryption support
Check for the GPG binary if we need to
Documentation and some light refactoring
Some documentation
Switch from mbuffer to pv

Also take this opportunity to get rid of popen_nonblock being called
directly and instead put it into a pipeline.

Add a test to show that basic sanity is preserved.

Signed-off-by: Daniel Farina <drfarina@acm.org>
Remove TODO section of README

The issue tracker fulfills this need.  And, better one place than two.

Signed-off-by: Daniel Farina <drfarina@acm.org>
Change storage version to 'dev-version'

To prevent confusion of data with that of any stable release.  This
format is subject to change.

Signed-off-by: Daniel Farina <drfarina@acm.org>
Move notion of version obsolescence to the storage package

Signed-off-by: Daniel Farina <drfarina@acm.org>
Rewind file descriptor to not truncate data with Boto 2.2.2+

Signed-off-by: Daniel Farina <drfarina@acm.org>
Rewind sentinel content for backup-completion sentinel

Editorialized to just nix the blanket "except" statement and the
surrounding comment, which dates back to an even less principled time.

Fixes issue #34

Signed-off-by: Daniel Farina <drfarina@acm.org>
Remove bogus attempts at robustness from sentinel upload

This code dates back to some of the earliest versions of wal-e, back
when it relied on s3cmd, and was a pitiful attempt basic robustness.
So stop pretending its robust, update the caveats, and salt the earth
with warnings and promises to make things better and particular ways
to do that.

Signed-off-by: Daniel Farina <drfarina@acm.org>
Where are my manners: Add contributor Tuomas Silen

Signed-off-by: Daniel Farina <drfarina@acm.org>
Don't crash when not using any key prefix at all
Add Ryan Kelly as a contributor

Signed-off-by: Daniel Farina <daniel@heroku.com>
Add Mike Krieger as a contributor and alphabetize

Signed-off-by: Daniel Farina <drfarina@acm.org>
Remove extra imports

Found via pyflakes.

Signed-off-by: Mike Krieger <mikeyk@instagram.com>
Signed-off-by: Daniel Farina <drfarina@acm.org>
Fix unbound variable reference in else-case

This would cause the exception-reraising code to crash.

Signed-off-by: Mike Krieger <mikeyk@instagram.com>
Signed-off-by: Daniel Farina <drfarina@acm.org>
Support for backing up non-running PG cluster

Conflicts:

	VERSION
	wal_e/cmd.py
Copy-edit the while-offline option and make it a boolean flag

This loses a tiny bit of generality, because formations like these no
longer work (which can occur in some scripts):

  $ wal-e backup-push --while-offline=true --while-offline=false ...

But I think in common cases it is easier to read, as the following
will now suffice:

  $ wal-e backup-push --while-offline

Signed-off-by: Daniel Farina <daniel@heroku.com>