Open postgres connections lazily

Tasks `ecto.create` and `ecto.drop` do not work when connections are
open to the database.
Start application before running tasks
Add immediate postgres connection start with '?lazy=false'
Add poolboy to OTP applications
Merge pull request #173 from elixir-lang/app.start-tasks

Start application before running tasks
Update to latest ex_doc and allow v0.13.0-dev
Ensure app_dir/2 raises on invalid application
Update ecto example/simple and ensure generate
tasks cannot run from umbrella.
Simplify ecto readme sample
Rollback task should start app before running
Added pessimistic locking option to queries
Added lock to list of query expression keywords
Updated documentation for the lock option
Added test to check that produced SQL includes FOR UPDATE
Added keyword lock to the README
Allow passing a database-specific locking clause as a string value to
the lock query expression
Added integration test to verify SELECT ... FOR UPDATE
Replaced use of String.valid? with is_binary
Use the existing "posts" table in the lock integration test
Add comments to the lock integration test
Merge pull request #178 from pma/master

Added pessimistic locking option to queries
Worker monitor caller to kill connection if caller dies

This is to ensure that caller doesn’t leave the connection in a bad
state and it is put back into the pool. For example connections with
open transactions should not be put back into the pool.
Fix race condition in storage test