Add a check for a custom role key - specified via an optional project pa...

...rameter - and merge into the existing list of roles if present.
Move to top of file