Refactor zen_href_link (catalog) and zen_catalog_href_link (admin)

 * Fixed the wrong separator in zen_href_link when sid must be passed with static URLs and no other parameters.
 * Updated the code handling sessions (zenid) to use "constant('SID')" instead of only "SID".
 * Consolidated the link "cleanup" code in zen_href_link into one rtrim, one preg_replace, and one str_replace.
 * Refactored connection check in zen_href_link to default to HTTP and issue a WARNING in the debug log if an unknown connection type is specified.
 * Added a notifier to zen_href_link. This should allow observers to "listen" and "act" upon the function being called.
 * Updated the admin function zen_catalog_href_link to more closely match the catalog zen_href_link.

<sub>**Note:** Should the new language constant (used when issuing a WARNING about unknown connection types) go into the main language file or into a new file under extra_definitions? My initial thoughts were in the main language file as they affect every page (and requires one less file load by the web server / PHP). For the purposes of this patch I've made the edits directly to the main language file(s). These may need to be moved and / or changed.</sub>