Added toString method to Event.java, caught a edge case in lastEntryAt query

This pull request has three components:

(i) The retrieve_last_entry_at/3 function of the cake_query module had a logic glitch that made it return an empty result if its third argument (the time At) was smaller than the timestamp of the last record. The Java and Erlang unit tests did not caught it because they both tested only querying the last entry of the file. I did necessary fix on line 41 of cake_query.erl.

(ii) The lastEntryAt method of the Java driver did not check if a list was non-empty before accessing its element at position 0, which made the driver crash if the list was empty. I included the check and made the method returns null if the list was empty.

(iii) Simply a toString method in the Event object to pretty print them when debugging etc

e.g.:

`
Event record = new Event(1356209905303838, byte[@vbe&bscj^dj]);
System.out.println(record);
`
output:

`{Timestamp: 1356209905303838, Payload: Hello World!}`