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 :(
Do we really need our own Failure wrapper here or can we just use result, since we don't have custom error types here?