Adds async.switch

This function is intended as a switch like construct for picking and executing an asynchronous function from a hash. For example:

```js
async.switch(switchedVar, {
    'case 1': function (callback) {/*...*/},
    'case 2': function (callback) {/*...*/},
    'default': function (callback) {/*...*/}
}, callback);
```

Perhaps it's trivial, but I find myself writing this shim every now and then, so maybe it is valuable.