have return named arguments hash

In the case where a lot of optional arguments is convenient not only to check whether the scheme, but also to get an object with named arguments. 

```js
var have = require('../have')
  , Query = require('some/query').Query;

function load() {
    var args = have(arguments, {
        type    : 'opt str',
        query   : 'str or obj',
        options : 'opt obj',
        cb      : 'func'
    });

    var type = args.type || args.query.getType();
    // ...

    args.cb(null, data);
}

var query = new Query({
    type: 'customerOrder',
    uuid:  '96a135f5-0290-11e4-37bb-002590a28eca'
})

load(query, function (err, data) {
    // ...
});
```