Update existing data if a value for the given timestamp already exists and handle data added out of order

Updated the TimeSeries.append() function to update existing data if a record for the given timestamp already exists or splice data into the array at the correct position if data is appended out of chronological order. There's also an extra, optional boolean parameter to the .append() function that defines the behavior in the case where existing data for the given timestamp is found in the internal array. If the 3rd parameter to .append() evaluates to true the existing data will be replaced. Otherwise it the value is added to the existing value.