Add OSRA Branches

PT Story: https://www.pivotaltracker.com/story/show/77972984

- [x] Added Branch model and seed data
- [x] Added Branch specs and factory
- [x] Added relationship between Sponsor and Branch
I see booleans as somewhat special for two reasons. One - and this is probably just a personal hang-up - declaring something as boolean makes it sound that it can be either true or false, nothing else. The fact that it can also be nil just doesn't sit right with me. Second is more practical - with strings, integers etc. you can always do `if object.attribute` and get an accurate idea of whether the attribute has been set. With a boolean, the `if` will return `false` when the attribute is deliberately set to `false` **or** if it has never been set and is `nil`. (The fact that `nil` is falsey is now etched in my brain :smile: .) I see this behaviour as unexpected, something that can trip one up.