Reorganized specs into specs/unit_tests and specs/acceptance_tests directories. Added metadata to all tests to let rspec-rails know the type of each test suite (controller, model, feature etc).

Older rspec-rails versions demanded a particular directory structure for the specs, so that e.g. controllers tests (which had to be in /specs/controllers) had a module mixed in during testing, to enable helper methods necessary for each type of test (e.g. accessing response headers directly during controller tests).

This is being deprecated and it will become opt-in in rspec-rails 3. A particular directory structure will no longer be enforced, each test suite will have to specify the type of test by using metadata (a :type named argument to the "describe" method at the top of each file).

I've gone ahead and, in preparation for rspec-rails 3, I've added metadata to all tests which make use of rspec-rails helper methods. Now that a particular directory structure is no longer enforced, I've reorganized tests in a "unit_tests" and "acceptance_tests" structure which is more confortable for me.

For details about the old directory structure and the new metadata-based spect type specification, see:

https://relishapp.com/rspec/rspec-rails/v/3-0/docs/directory-structure

For interesting discussions about this topic see:

https://github.com/rspec/rspec-rails/issues/662
https://github.com/rspec/rspec-rails/pull/970/files
https://github.com/rspec/rspec-rails/pull/1002