Devolve date ranges into own class

* Add support for all types of range required to enable the parsing
  of one of the most inconsistent docs, the French history