Refactor how projects get decorated by branch properties

NB Breaks backwards API compatibility with the 0.1-alpha's
Sometimes I hate git add -p