Fixed controller test that fails on Travis

It only failed on a clean database, so we didn't catch it earlier.
Starting to seperate factory logic for active projects

Next step: fake (or stub) the Amazon API to generate a realistic,
working payment_account_id for each project
Fixed failing Project Enumeration specs

Updated specs testing active projects to use the new factory
Fixed custom validator in Project model that would throw an exception
if an invalid state was assigned.
Updated remaining references to use the new project factory
Merge branch 'master' into tests

Conflicts:
	spec/features/amazon_fps_spec.rb
Fixed a javascript bug on the projects show page

The showHide.js asset was being included twice, once in the
markup body. This resulted in an additional GET request to
projects#show, with an invalid project id.

Still not quite sure why the additional request was being sent,
but removing the second import fixed the problem.
Fixed broken method call from previous JS driver

The syntax for accepting JS alerts is not a part of the
Capybara interface, so the capybara-webkit and selenium
webdrivers implemented it differently.
Fixed project spec that used the wrong factory

Should fix the fourth failure at
https://travis-ci.org/rwash/contribute/builds/6854325
Removed useless feature spec, temporary fix for projects factory

Project has a bug with end dates and time zones --
setting the end date for tomorrow results in failed validations.
Fixed incorrect ability rule and Null Video stub methods

Users didn't have permission to cancel 'destroy' active projects.
Also, the names on some of the NullVideo methods didn't match
up with the actual Video class
Refactored ProjectsController to move logic to model

Logic dealing with activation is now in the model
Removed unnecessary feature specs

There were a few feature specs testing validation rules for the
Contribution model -- Removed to speed up tests
Fixed timing issue in a feature spec

Because the capybara client and the server aren't synchronized,
we need to add a condition to be sure the server has received
the request before checking if a database entry was created.
Fixed failing spec caused by leftover records

The UpdatesController specs didn't clean up after themselves,
which made the UpdateContributors spec look for projects that
no longer existed.
Fix failing spec that using wrong project factory

Project factory was changed here:
https://github.com/rwash/contribute/commit/faec52932a#diff-6

Spec was failing because the factory it was using didn't
assign a payment_account_id to the project
Merge pull request #4 from rwash/tests

Fix Failing Tests