Add chainability to bh.match, add ability to use multiple matchers in one call of the bh.match

### 1. Add chainability to bh.match
It allows to use familiar and convenient pattern.
Instead of:
```js
module.exports = function(bh) {
    bh.match('block', ...);
    bh.match('block__elem1', ...);
    bh.match('block__elem2', ...);
};
```
We can write:
```js
module.exports = function(bh) {
    bh
        .match('block', ...)
        .match('block__elem1', ...)
        .match('block__elem2', ...);
};
```
### 1. Add ability to use multiple matchers in one call of bh.match
It allows to reduce verbose calls of `bh.match`.
Instead of:
```js
module.exports = function(bh) {
    bh.match('block', ...);
    bh.match('block__elem1', ...);
    bh.match('block__elem2', ...);
};
```
We can write:
```js
module.exports = function(bh) {
    bh.match({
        'block' : ...,
        'block__elem1' : ...,
        'block__elem2' : ...
   });
};
```
@mishanga, @denchistyakov, please, take a look