allow ContentsManager methods to return Futures

mainly adding `@gen.coroutine` and `yield gen.maybe_future` all over the place.

No FileContentsManager methods are actually async at this point, but custom ContentsManagers may have higher latency than the filesystem, so may want to use tornado's async interface.