Calculate EndTime for garmin connect based on elapsed time.

I had a couple of GC -> Strava uploads failed due to the lap.StartTime being after the lap.EndTime.
Changed the code to always calculate end time based on duration, similar logic to how activity.EndTime is populated.

Example activity - http://connect.garmin.com/proxy/activity-service-1.3/json/activity/497777660 - Lap 12

        "BeginTimestamp": {
          "fieldDisplayName": "BeginTimestamp",
          "display": "Sun, 11 May 2014 20:08",
          "displayUnit": "",
          "value": "1.39983893E12",
          "unitAbbr": "Greenwich Mean Time",
          "withUnit": "Sun, 11 May 2014 20:08 ",
          "withUnitAbbr": "Sun, 11 May 2014 20:08 Greenwich Mean Time",
          "uom": "gmt"
        },
        "EndTimestamp": {
          "fieldDisplayName": "EndTimestamp",
          "display": "Sun, 11 May 2014 20:08",
          "displayUnit": "",
          "value": "1.399838929E12",
          "unitAbbr": "Greenwich Mean Time",
          "withUnit": "Sun, 11 May 2014 20:08 ",
          "withUnitAbbr": "Sun, 11 May 2014 20:08 Greenwich Mean Time",
          "uom": "gmt"
        },