Add ability to turn off slug scoping

-- Add configuration variable to turn off slug scoping.
-- When slug scoping is off, custom slugs are allowed to have
   slashes in them, and essentially become custom paths, allowing
   the user to customize the routes any way they want, regardless
   of page nesting.
Fix some controller level logic

-- When deciding whether we should redirect to the friendly url, there was
   an assumption that the slug never contains a slash. For globally scoped
   slugs, this is no longer the case. Instead, they don't have leading
   or trailing slashes, but may contain internal slashes.
-- Add controller tests
Address suggestions made in the original PR (#2243) and remove Hash extension.