spothistory: use history data for plot's date range heading

This more accurately shows the date range that was returned by Amazon
for the start and end times requested by the user. It also ensures the
plot shows the date range regardless of whether the user specified an
exact range, an approximate range (e.g. --days-ago) or no range at all.
utils: use UTC timezone for all time stamps

Switched to using iso8601 in iso_to_datetime_tuple which handles all the
various iso8601 formats and sets any timezone info provided in a given
format accordingly in the resulting datetime object. After parsing the
iso date and zone properly it's then converted to UTC time and returned.

Updated datetime_tuple_to_iso to convert the tuple to UTC first before
formatting. Updated the formatting to include the microseconds and UTC
timezone indicator (Z).
spothistory: improve date calcs for -s, -e, and -d options

Updated the code to pass start=None and end=None if no specific ranges
were specified (ie -s, -e, and -d options). When -d is specified only
the start time is calculated using local time (converted to UTC) -
end=None is still used unless the user explicitly sets -e option in
which case the start time is calculated based on the end time minus the
number of days specified by -d. This avoids discrepancies between the
AWS console starcluster in the case that the user's local time is off.

Added a check to error out if both -d and -s options are specified.

Added a note to the spothistory web template that all timestamps
displayed in the plot are UTC.
Merge branch 'spot-history-accuracy-fixes' into develop