Made it possible to provide functions for start and end of a range.

I needed range picker options like 'Last Hour' and 'Last 4 Hours' that would be accurate even if the user had their browser open for 15 minutes. With the original static values provided for ranges if the user left the window open for 15 minutes then came back 'Last 4 Hours' would actually be the 'Last 4 Hours' - 15 so users had to refresh their browser to get what they really wanted. By adding functions for the start and end of the range I am able to recalculate the start and end each time the range is clicked.