Add GPX support

Supports conversion to GPX.  Each timestamped point is included,
and they are grouped into individual tracks, with a split between
every two chronologically-adjacent points that are more than 10
minutes or 40 kilometers apart.  It appears that GPX waypoints
may not have timestamps, thus the decision to make tracks.

Some useful resources:
*
http://stackoverflow.com/questions/27928/how-do-i-calculate-distance-bet
ween-two-latitude-longitude-points
* https://gist.github.com/bluemaex/4235529
* http://cycleseven.org/gps-waypoints-routes-and-tracks-the-difference

Updated README and tested on a very large Latitude JSON history file.
Merge branch 'master' into add-gpx-support
Add GPX details when available and ensure valid GPX 1.1

Included altitude, speed, and accuracy data in the
conversion, when available.  Also, ensured the output
validates as GPX 1.1.  This requires the elements appear
in the order they are in.
Update README to better detail the GPX format
Distinguish between gpx and gpxtracks format

Added the option to save in GPX format without grouping points
into tracks (like all other current formats).  Originally, I thought
tracks
were required to include time data, but I must have misformatted the
data.  Now, both options are available as "gpx" and "gpxtracks" and
both validate.
Merge pull request #3 from kjkjava/add-gpx-support

Add GPX Support