Fix failing tests on development

Merge with #403/#606 might have introduced some failures into the test suite:

```
  1) CategoriesController PUT update is admin with invalid attributes should not update attributes of @category in the database
     Failure/Error: @category.max_per_user.should be_nil
       expected: nil
            got: 5
     # ./spec/controllers/categories_controller_spec.rb:170:in `block (5 levels) in <top (required)>'

  2) Announcement has current scope
     Failure/Error: upcoming = Announcement.create! starts_at: 1.hour.from_now, ends_at: 1.from_now, message: "MyText"
     ActiveRecord::RecordInvalid:
       Validation failed: Ends at Start date must be before end date.
     # ./spec/models/announcement_spec.rb:9:in `block (2 levels) in <top (required)>'

  3) User nickname should not allow nil
     Failure/Error: @user.save
     ActiveRecord::StatementInvalid:
       SQLite3::ConstraintException: users.nickname may not be NULL: UPDATE "users" SET "nickname" = NULL, "updated_at" = '2014-07-02 22:27:51.645092' WHERE "users"."id" = 9
     # ./spec/models/user_spec.rb:62:in `block (3 levels) in <top (required)>'
```

Some might be caused by the factory changes. Plan: Investigate and fix.
(Alternatively, if one `@category.reload` changes state for the other test, another factory-independent way of doing this is to save the state before `.reload` into variables and test equality after `.reload`.)