Add option to keep repo on project delete

Update the project API controller to use `Projects::DestroyService`
instead of calling `Project#destroy` directly.

Also add an optional parameter, `:keep_repo`, that allows a project to
be deleted without deleting the repository, wiki, and satellite from
disk.
Remove :keep_repo option

Always delete repositories from the filesystem when deleting a project.
Failing feature for dashboard issues when user has authored issues on projects he is not a member of.
Failing feature for dashboard merge requests when user has authored issues on forked project source.
Assigned merge request should show on dashboard mr overiew feature spec.
Do not filter out issues and merge requests related to user right away.
Add settings to disable email sending from GitLab.
Add email interceptor to prevent mail sending if email sending is disabled.
Add interceptor test.
Add a comment in interceptor spec.
Merge branch 'disable_email_option' into 'master'

Disable email option

Fixes #1569

See merge request !1222
Merge branch 'dashboard_issues_and_mr' into 'master'

Dashboard issues and merge request filters

Fixes #1597

See merge request !1219
Merge branch 'api-project-delete' of https://gitlab.com/mr-vinn/gitlab-ce into mr-vinn/gitlab-ce-api-project-delete

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

Conflicts:
	spec/features/projects_spec.rb
Merge branch 'mr-vinn/gitlab-ce-api-project-delete'
Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq