rename backend package to 'warden'

this package now describes both the interface a backend should implement (as
Backend) and the interface required for a warden client (Client)

the intent is to add a client implementation and track it alongside backend
interface changes, so that it cannot stray behind. this will replace the
gordon package.
introduce client package

shares (almost) the same interface as the backend. there are a couple
inconsistencies; a backend's container implements GraceTime and Properties,
which do not make sense on a client's container (at least without the
possibility of erroring).
Connection api returns higher-level values

this makes it much easier to fake out and makes client/container thinner
remove automatic handle generation

this is better left controlled by the user
add fake warden client

uses a real client with a fake connection and exposes it
unify BackendContainer and Container

A backend must now implement its own filtering by properties. This keeps
Container from having to retain its own properties, and theoretically is more
efficient if the set of properties grows and the containers are stored in
a database. Previously it would be a full lookup of all containers + their
properties, and manual filtering done by the server.

A Backend must now implement GraceTime(Container) time.Duration, which is used
by the server to determine a container's grace time. This isn't very elegant
but pushes all of the backend-only logic onto Backend.
support for the full create container spec
fix deadlock in bomb detonation

previously a bomb would detonate, and then bomberman would "defuse" it to
clean up after it, but then defusing would block as the container had already
detonated.
Merge pull request #9 from cloudfoundry-incubator/warden-client

Warden client