Make work a member variable so it can be cancelled. Boost defines are in platform, since boost is now required by async
Push version to 0.17.0