Dsc 807

Hi Shaun,

This request includes parsing of date range for collection work and component works for indexing.  It also included several additional EAD fields which was missed previously.  Could you please review these changes?

Thanks,
Shuang
This  misses leap days (February 29). It might be more accurate to use Java's Calendar library to get these day of month maximums:

```java
        Calendar cal = Calendar.getInstance();

        cal.clear();
        cal.set(Calendar.YEAR, 1900);
        cal.set(Calendar.MONTH, Calendar.FEBRUARY); // feb (zero indexing)
        System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));
        // prints 28

        cal.clear();
        cal.set(Calendar.YEAR, 2000);
        cal.set(Calendar.MONTH, Calendar.FEBRUARY);
        System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));
        // prints 29

        cal.clear();
        cal.set(Calendar.YEAR, 2001);
        cal.set(Calendar.MONTH, Calendar.FEBRUARY);
        System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));
        // prints 28
```