Close channel FD on unmount of background session

Makes the channel cloneable, and makes the session responsible for the lifetime of the mount rather than the channel.  Cloneable sessions will allow for running requests in parallel eventually, but for now it allows the BackgroundSession object to be able to close the FD, which fixes #7.