Reorganized to only use 2 Regexs and added /random/ paths.

The reordering is also part of adding the /random/ paths as it allows
us to just iterate over the paths object and get all the names to put
into an array. Otherwise there would need to be a separate hardcoded
array of pathnames.