This commit adds FactoryGirl.lint, which iterates over each defined
factory, builds it, and ensures it is valid. If any factories are
invalid, an exception is raised and includes the names of each invalid
factory.
This resolves an issue where users have defined methods inside factory
girl blocks. This hasn't worked in quite a while and without raising,
users would be able to define methods and see an odd error (a
NoMethodError for `singleton_method_added=`). Instead, we raise
immediately so that no issues come up later when they actually try to
use the factories.
Closes#513