Branch filtering

Added dynamic branch filtering support, where the to and from branches are used to filter the commit history used between 2 build points.

Probably makes sense to merge this after #30 has been merged as this change already includes #30 changes. Happy rebase/merge this PR once #30 is in.
Are we missing the option to expose branchFiltering and turn it off?  I might be missing something, looks like it is on by default but I cannot turn it off?