regproj: enforce fork origin path
Adds initial support for 'origin' parameter, deriving a value from the
'name' parameter passed by project 'fork' links (if not passed
directly).
If origin is defined, then the project mode radio buttens are hidden,
and the value is forced to push mode, as it does not make any sense to
allowing forking read-only mirrors for local upsream repositorys.
This simple change ensures stupid users cannot accidentally change the
origin after clicking on a 'fork' link. For context, I can call users
stupid here, because I was the idiot that discovered this missing check.
I meant to create a fork called 'foo/bar' and got one called 'foo-bar'.
The change prevents other users from making this mistake in the future.
The origin should display in bold text immediately preceding the 'name'
text input box, without a leading '/' to help remind the user of the
new fork's relative path. When not provided, the '/' shows the fact
that the repositories create a new virtual root for future forks.