Some refactoring and docs for Plug.Conn and Plug.Conn.Unfetched

Plug.Conn.Unfetched: just some added docs.

Plug.Conn:
- More detailed docs overall
- Refactored `full_path/1` in order to remove the use of a private function
- Major refactor to `configure_session/2`
- Replaces two calls to Erlang's :lists with Elixir's `List` module
- Added the `port_number` type (0..65335)