BUG: Holiday observance rules could not be applied
Closes #11477
Closes #11533 

There were some other bugs here that I added tests for.  For example, `holiday.dates` for MLK day was returning all holidays from the holiday start date up to the end date rather than just between the range.

@jreback Changes incorporated.  Holiday.dates() does return a DatetimeIndex rather than a list, but I'm thinking that's okay.
 @rockg looks good.

pls rebase / minor edits. ping when green.
 @jreback Green
 thanks!
