Start organizing the spec layout and leveraging shoulda-matchers

move valid factory check to the top
use expect syntax for shoulda-matchers.
remove examples that are covered by shoulda-matchers.
add additional context