Ensure directory exists before changing in popen

If the directory does not exist, we want to ensure that it does.

Forking repos will fail in some situations because of this issue.
Whitespace fixes to patch
Allow issues to be viewed for authenticated user when project is public or internal.
Feature visit issues page for public project as auth and non auth user.
Feature for visit issues page for internal project as auth user.
Scenarios for checking if MR are shown for internal and public projects.
Extract projects and mr into methods in features.
Do not load all projects all the time.
Use recent gitlab_git lib

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Use new tags/branches from gitlab_git

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Filter items by project.
 Merge branch 'bug/filtering' into 'master'

Bug in issue and merge request filtering

Fixes #1006
Fixed gitlab_git rev

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Change Devise.confirm_within to Devise.allow_unconfirmed_access_for

According to Devise's changelog
(https://github.com/plataformatec/devise/blob/master/CHANGELOG.md),
Devise.confirm_within was deprecated in favor of
Devise.allow_unconfirmed_access_for in version 2.0.0.
Truthful wording. Fixes #934
 Merge branch '500-message' into 'master'

500 Message
Use new gitlab_git revision

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Improve code according to new gitlab_git

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Remove duplication with readme. Remove unneeded spaces. Prevent people writing ~git in the documentation. Descriptive headers.
 Merge branch 'bug/500_tag_name' into 'master'

Fix 500 on tags page

Fix bug when grit parse tags wrong and raise exception on tags page.
Fixes #993