fixed error in date range attribute generation and improved handling of exact ranges

Added ability to parse a date range from exact date to exact date. Date
is split on hyphens -- if there are two elements they are assumed to be
years; if there are six, index 2 and 5 are assumed to be the years.