Routes and Gemfile cleanup

We done messed up.

I tried to cleanup the routes and gemfile as much as possible. There's a bit more to do, specifically to change unnecessary 'match's to appropriate verbs (get, post, put, delete). Using 'match' will match all verbs.

The Gemfile has had all gem versions locked down. This means each gem has its version next to it and bundler won't check for updates too many times.

@hishamelgezeery @marwa-mehanna @mohammad-abdulkhaliq can you check with your components and tell me if there are any objections or amendments?