CAS & SAML Authentication + Dynamic reloading of strategies

This PR introduces two new authentication strategies:
 * CAS - [Central Authentication Service](http://en.wikipedia.org/wiki/Central_Authentication_Service)
 * SAML2 - [Security Assertion Markup Language](http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language)

It brings in two new packages:
 * [cas-sfu](https://npmjs.org/package/cas-sfu)
 * [passport-saml](https://npmjs.org/package/passport-saml)

The CAS strategy has been verified to work with the [Georgia Tech CAS](https://login.gatech.edu) server and the SAML strategy has been verified with the [Open Identity Provider](https://openidp.feide.no/) .

Both are fully configurable from the admin panel. I had to bring in some extra logic which reloads the strategies for a tenant (or all tenants if the change is made globally). I don't think there is a way to see a config diff, so it reloads all strategies associated to a tenant.