Move 'reservation' field from task_client to generic reservation_client

This makes it a lot easier to write generic code for thread arrival /
thread departure in plugins with multiple types of reservation
clients.