Update Google Gson to 2.2.4

Only contains a single bugfix over 2.2.3 but may as well keep up to date.

The change log below looks a bit odd - I deleted 2.2.3 and copied the new one in and added it.  After committing that, github seems to think 
libs/google-gson-2.2.3/gson-2.2.3-sources.jar → libs/google-gson-2.2.4/gson-2.2.4-sources.jar

In fact, there was an explicit delete and add.  I suspect there is some heuristic at play which maps that to, for presentation purposes, a move.

In terms of the gson upgrade itself, I've diffed the release, and ignoring changes to tests and docs - the changes are as follows:

# diff -r -q gson-2.2.3 gson-2.2.4
Files gson-2.2.3/pom.xml and gson-2.2.4/pom.xml differ (version number only)
Files gson-2.2.3/src/main/java/com/google/gson/JsonObject.java and gson-2.2.4/src/main/java/com/google/gson/JsonObject.java differ
Files gson-2.2.3/src/main/java/com/google/gson/internal/ConstructorConstructor.java and gson-2.2.4/src/main/java/com/google/gson/internal/ConstructorConstructor.java differ
Files gson-2.2.3/src/main/java/com/google/gson/internal/LazilyParsedNumber.java and gson-2.2.4/src/main/java/com/google/gson/internal/LazilyParsedNumber.java differ
Only in gson-2.2.3/src/main/java/com/google/gson/internal: LinkedHashTreeMap.java
Only in gson-2.2.4/src/main/java/com/google/gson/internal: LinkedTreeMap.java
Files gson-2.2.3/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java and gson-2.2.4/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java differ