haneke: removing dispatch_sync, cleanup

assert on main thread, avoid sync since this is programmer error
remove an additional dispatch_async because threads
add dataExistsForKey to return cache hits