Worked on filter controller permissions tests

I worked on #2052 addressing the feedback here. I also made some changes that include:

1. Broke `assert_permission` out into `assert_authorized` and `refute_authorized`.
2. Allowing `assert_authorized` and `refute_authorized` to be called multiple times in a test. Previously we could only call `assert_permission` once per test to check one authorized permission and one unauthorized permission. Now you can test as many permissions and combination of permissions as you like.
4. User can be passed into the assert to override the default no_perms_user.
3. Tests with fixtures and tests without fixtures are both supported. Previously, you always had to have `fixtures :all` in your test file. Now if fixtures aren't loaded, the code falls back to FactoryGirl.
3. Fixed places that said `test "index perms"` to say `test "index permissions"`.
3. Removed a few blank lines.
4. Variable names for single permissions are named permission and not permissions (e.g. `edit_permission` instead of `edit_permissions`)