Update ASIO wrapper constructors

... to only take BoostEnvironment and VMIdentifier (so the liveliness of the VM must be considered by the caller).
Also restores the behavior of creating a new TCPConnection in every call of startAsyncAccept().
Finally, constify a couple members of BoostEnvironment and BoostVM.
With this change, it seems there is no way to use a different loader than `defaultBootLoader`, is it?