Use Django's named URLs and url-reverse instead of manually constructing (hard-coding) URLs

When using Plinth with the default server_dir='' or server_dir='/', some URLs were broken.

Instead of manually constructing / hard-coding URLs I use Django's URL system now. This allows to easier notice broken URLs, and to easier change (a whole bunch of) URLs within an application. The concept is to define URLs only on one place (the urls.py files), and to refer to them from everywhere else.

The main- and sub-menu still uses hard-coded URLs. I'll change that later when/if this pull request is accepted.