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.
Where I am going with that is should these be configurable?