Family Builder Pattern

This makes code for Family.getFor a lot more readable and less difficult to write.
If that is too confusing, we could remove the double methods by making it look like this: Family.build().all(....).one(...).exclude(..).get(). build() would just reset the builder instance and return it.
Would be a bit more to write tho.