make `parse` support nest structure

```js
var qs = 'x[y][0][v][w]=%CE%ED%BF%D5';
var obj = {'x' : {'y' : [{'v' : {'w' : '雾空'}}]}};
urlencode.parse(qs, {charset: 'gbk'})
  .should.eql(obj);
```