Check null on JSONObject.getNames

JSONObject.getNames has the awful property that if the argument is a
JSONObject with no keys, it returns `null` instead of an empty array.
When conditional logic is used to generate modifiers, it's easy to end
up getting one without any keys.
Failing test with non-null, empty modifiers object
Merge branch 'getNames-is-awful' of https://github.com/ceedubs/mixpanel-java into ceedubs-getNames-is-awful
[maven-release-plugin] prepare release mixpanel-java-1.4.1