Addition of elixir logger and request_id

Adding basic logger support to plug. re https://github.com/phoenixframework/phoenix/issues/235

Also adding a unique request id to each request header, response and Logger metadata.

@josevalim I wanted to make sure you were okay with the addition of two plugs/API before I tested and documented. 
@jeregrine This is what I meant with Enum.reduce is faster than Enum.join:
```elixir
Enum.reduce(conn.path_info, [], fn(i, acc) -> [acc, i, ?/] end)
```