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 table valid 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.
Can you put an empty phpdoc line between the param and the throws tags to increase readability ?