Enforce that table nodes have same number of columns on every row

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.