Add logic for using the 'gated' feature.

Adds `detect.js` file for `classList` and adds logic for pre-building gated (minified and non-minified) Javascript polyfills.  This also verifies the validity (in terms of Javascript syntax of the `detect.js` file as a conditional expression) at process start up.

Closes #5 
Bit messy?  Could do:

```
currentPolyfills[polyfill.name] = polyFillSource[(options.minify?'mini':'')+(shouldGate?'gated':'')+'file'];
```