Added support optional roles

Optional roles allow defining roles that some environments don't have
(or need) and they will be skipped when deploying to that environment
(instead of failing).