tabletserver: deadline plumbing

Connection pool waits also make use of deadlines.
Memcache operations don't use this deadline, but
it's ok because we have bigger problems if those operations
timeout. This can be changed in the future if needed.
For now, deadlines apply only to queries. Transactional
operations do not have a deadline.
Begin will need a separate deadline. This will be a separate CL.
tabletserver: refactored some boilerplate code
Merge pull request #88 from youtube/suguwork

tabletserver: deadline plumbing