adding normalization of resource URLs/categories

Prior to saving a resource (insert or update), the category text is now
properly constructed from the text of all associated categories.
Moreover, when a resource URL is not specified with an http:// or
https:// prefix, it is normalized to start with http://.