Store group and project full name and full path in routes table
What does this MR do?
- adds name field to routes table
- moves full_name and full_path implementation from Namespace/Project to Routable concern
- uses route.name and route.path for full name/path to group or project
Are there points in the code the reviewer needs to double check?
no
Why was this MR needed?
- less sql queries (no need to collect parents to build full name/path)
- use routes table as single point of truth for resource location
- cleaner code
Does this MR meet the acceptance criteria?
- 
Changelog entry added 
- Documentation created/updated
- API support added
- Tests
- 
Added for this feature/bug 
- 
All builds are passing 
 
- 
- 
Conform by the merge request performance guides 
- 
Conform by the style guides 
- 
Branch has no merge conflicts with master(if it does - rebase it please)
- 
Squashed related commits together