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.
I read up on hasattr and based on it's description, I agree that it would read better and I'll update my code to call that instead.  Regarding the third test case, I figured out a way to update my tests so that the LTI_CUSTOM_ROLE_KEY settings doesn't have to be set to a default value in the settings.configure call, but instead can be set (or not) in each test.