GTNPORTAL-3506 Allow multiple apps registering the very same AMD paths

Hm... the formulation here is right from my PoV, but I should perhaps use more words to explain it better. OK to change it like this?

```
         * Creates a new {@link PathMappings} instance by first copying {@link #entries} from
         * {@code this}, then adding all elements from {@code pathEntries} parameter to the
         * {@link #entries} of the new instance, returning the new instance.
         *
         * In this methid, we are adding a map of path entries like
         * {@code ['/dojo' -> 'http://cdn.com/dojo', '/whatever' -> 'http://cdn.com/whatever']}.
         * Keys in that map are called <i>prefixes</i> and values are called <i>target paths</i>.
         * We are adding these entries to a map of entries that have been registered before and for
         * each of the entries that are being added, we check, if it breaks the internal consistency
         * of the newly created PathMappings. There are three cases possible:
         * <ol>
         * <li>If the prefix is still not available in {@link #entries}, the entry is
         * added to {@link #entries}</li>
         * <li>If the prefix is already available in {@link #entries} and the available
         * target path is equal to the one being added, the entry is also added to {@link #entries}</li>
         * <li>If the prefix is already available in {@link #entries} and the available
         * target path is not equal to the one being added, a {@link DuplicateResourceKeyException} is thrown.</li>
         * </ol>
         * @param contextPath the servlet context path
         * @param pathEntries the entries to add
         * @return see above
         * @throws DuplicateResourceKeyException if a key of an added entry is available
         *                          in {@link #pathMappings} and the available
         *                          target path is not equal to the one being added
```