Fix error when uploading groups by CSV

This fixes the following error when uploading groups by CSV:

```
 #<NoMethodError: undefined method `assignment' for nil:NilClass>
/home/su/code/Markus/app/models/grouping.rb:400:in `block in
remove_grace_period_deduction'
/home/su/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-3.2.18/lib/active_record/associations/collection_proxy.rb:91:in
`each'
/home/su/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-3.2.18/lib/active_record/associations/collection_proxy.rb:91:in
`method_missing'
/home/su/code/Markus/app/models/grouping.rb:399:in
`remove_grace_period_deduction'
/home/su/code/Markus/app/models/grouping.rb:255:in `add_member'
/home/su/code/Markus/app/models/assignment.rb:487:in `block in
add_csv_group'
/home/su/code/Markus/app/models/assignment.rb:479:in `each'
/home/su/code/Markus/app/models/assignment.rb:479:in `add_csv_group'
/home/su/code/Markus/app/controllers/groups_controller.rb:165:in `block
(2 levels) in csv_upload'
/home/su/code/Markus/app/controllers/groups_controller.rb:162:in `each'
/home/su/code/Markus/app/controllers/groups_controller.rb:162:in
`each_with_index'
/home/su/code/Markus/app/controllers/groups_controller.rb:162:in `block
in csv_upload'
/home/su/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-3.2.18/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in
`transaction'
/home/su/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-3.2.18/lib/active_record/transactions.rb:208:in
`transaction'
/home/su/code/Markus/app/controllers/groups_controller.rb:154:in
`csv_upload'
```

This is because `deduction.membership.grouping` is nil. However, it
doesn't makes sense to have an instance of a membership with null
grouping. so there must be something wrong with the deletion of
groupings. When a grouping gets deleted, the dependent memberships and
grace period deductions should also be deleted.

Tested:
- bundle exec rake test
- bundle exec rspec
Fix error reporting bug when uploading group CSV

This patch deals with two issues:

1. flash data don't need to be "reset from previous errors". They are
automatically reset by Rails for each request. Manually setting it to
nil causes the current error reporting code to skip the
`if !flash.key?(type)` check because the key exists, but flash[type]
is still nil and will trigger an exception later.

2. It's safer to test nilness of flash data than to test the existence
of keys.

Tested:
- bundle exec rake test
- bundle exec rspec
Fix for automatically changing due dates.
Merge pull request #1752 from zhangsu/group_upload_csv_error_reporting

Fix error reporting bug when uploading group CSV
Merge pull request #1751 from zhangsu/group_upload_csv_error

Fix error when uploading groups by CSV
Merge pull request #1755 from david-yz-liu/due-date

Fix for automatically changing due dates.
Fix for issue #1748. Text is made red only if there are missing, required files.
Merge branch 'master' into issue-1748
Merge pull request #1757 from kubasub/issue-1748

Fix for issue #1748: Student Interface: "0 missing required files" looks scary. Fixes #1748
Merge branch 'master' into issue-1728
FIX for issue 1728. Removed hardcoded "edit" and improved user experience.