Raise a `RuntimeError` when the port is already in use.

This PR reduces some duplication in the `{start/stop}_adapter` functions and
outputs a nice green message when the application starts.

This can be modified once @elixir-lang/plug#62 lands.