Refactor model specs

PT https://www.pivotaltracker.com/story/show/76108962

- refactor model specs to uniform format, use shoulda-matchers
- delete empty model spec files
@motasem-salem The test for invalid date values is still there, in fact: L23 just below. Although, as @sampritipanda points out, it is now somewhat redundant. I have no problem keeping it here on the model, but perhaps we can refactor these date tests into one-liners with custom matchers.

Below, the `ensure_inclusion_of(:gender).in_array %w(Male Female)` on L26 covers all the previous `allow_value` tests.

I have removed all occurrences of `allow_value(true, false).for(:attribute)` because these are meaningless. Since the attribute is a boolean, AR coerces all values into `true` or `false`. For example, `it { is_expected.to allow_value(7, '99', [1, 2]).for(:sponsored_by_another_org) }` passes as all the values get converted to `true`.