Behat/Gherkin — pull request #91 by PurpleBooth (2014-11-17 14:11:53+00:00)
Title: Enfore that table nodes have same number of columns on every row

Accidentally closed: Behat/Gherkin#90

The TableNode should throw an exception when it's not a valid table (i.e. when it doesn't have the same number of columns in every row).

Requested in Behat/Gherkin#89 by @everzet

As TableNodes are entities that represent a specific concept in Gherkin, the table, so it's important that we ensure they cannot possess an representation that would be invalid in Gherkin.

For example:
```Gherkin
Given I am user:
| username | password |
| ever.zet |
| antono | pa$sword |
```

Is not a valid table in Gherkin, so we shouldn't allow this object to represent that.

Now that translates to this PHP, note the unequal column count in each row.
```php
new TableNode(array(
array('username', 'password'),
array('everzet'),
array('antono', 'pa$sword')
));
//=> throws \Behat\Gherkin\Exception\NodeException('Table does not have same number of columns in every row.')
```
This PR makes TableNode throw an exception on construction when the column count is not equal on every row.