made FakeDB asynchronous and fixed all tests except selection
fixed other tests