Add tributary logic to maestro

1) extended tributary logic by avoiding copying duplicate files
2) refactored tributary logic so it is an Hdfs action
3) fixed tributary logic so that archive directory structure mimics HDFS source structure
4) changed tributary tests so they each run in an isolated directory
5) date parsing does not allow overflowed days and months
6) many other misc changes to tributary logic

Sorry about the size of the pull request :(
The original tests were written in this style, and I was worried at the time that changing away from the mutable Specification class might cause changes that I didn't understand. That was back before I realized I would be making such major modifications to the code anyway. I'll change them to acceptance style ...