Selective Harvesting+Prevents empty sets for equal from/until timestamps+handels different granualrities in from/until

This changes aim to fix a problem, that occurs on the side of one of our harvesters. It has been discussed at the fedora mailing list [1]. See also [2]. The provided solution is a bit lengthy, but adds some flexibility to proai timestamp handling that might be useful for others too. 

The solution does not change the way in which proai stores and retrieves dates from its database. It mainly operates on the from/until strings to imitate inclusive timeranges on given timestamps of different granularities.

```TestDateRange#testInclInclRange()``` provides an extensive test for the ```DateRange.getRangeInclIncl(from,until)``` implementation which now is used in ```Responder#listRecords``` instead of ```Responder#validateDate```, ```Responder#checkGranularity```, and ```Responder#checkFromUntil```.

[1] <http://fedora-commons.1317035.n2.nabble.com/fcrepo-user-proai-noRecordsMatch-using-equal-from-and-until-timestamps-tp7578948.html>
[2]  <http://www.openarchives.org/OAI/openarchivesprotocol.html#SelectiveHarvestingandDatestamps>