Change format of browsers config option from array to object

Object structure:
- keys are browser identifiers
- values are browser capabilities (`browserName`, `version`, etc)

Other changes:
- browser id is used everywhere instead of `browserName` + `version`
- `Browser.prototype.name` renamed to `id`
- some methods signatures has changed
- `skip()` uses the same structure as `browsers` objects
- `README.md` and `README.ru.md` reflect changes

At least tests are passing ;)

Still need to do:
- [x] replace `TODO` in the code with implementation
- [x] changes in `README.md` on `browsers` option

/cc @SevInf 
Did't quite understand this condition. Aren't legacy `browsers` always arrays and new one are always an object?