A complete rewrite of the reference parsing and generation routines.
* Drop: makelink() in favor of make_ref() reasons:
 - makelink() did many different things by switching flags On and off
 - makelink() was escaping to html by default
 - makelink() was expecting everything to be in query string
 - makelink() was not capable to return absolute urls
* New: make_ref() that take path and query string and return absolute url
 - Urls are not HTML escaped by default (will be done on output layer)
 - Urls are now absolute so that it can be used anywhere in the site.
* New: self_ref() can create an absolute url with extra query parameters
* New: fqn_url()  that can take any local absolute url and create a FQN one.
* Drop: get_qs() in favor of get_query_string()
 - It supported HTML escaping(!?) by default
* New: get_query_string() will return the raw query string as sent by agent
* New: get_query_string_array() will parse query string and return an array.