Bump enacl to the newest version.
Introduce a supervisor to keep track of connections.
Link connection FSMs into the supervisor structure.

Follow the lead of the `ssl` application and use a s-1-1 supervisor
to drive the link-tree for the processes. Switch to using monitors for
monitoring the controlling process while here. This opens up for a much
easier way to implement curve_tun:controlling_process and friends.
Implement controlling_process/1.
Implement curve_tun as the forward-facing API fix controlling_process/1

The controlling_process code takes two parameters: a socket and a new pid()
to which we transfer control.
Implement controlling_process/2's first failure mode.

If you are not the owner, `{error, not_owner}` is returned rather than
a generic error message.