Changed getItemById to a filter with getFirstItem()

... to retrieve the first item from that collection.

In the previous state, it was assumed that there are only a few tax rules set up and that there were no previous rules (so that the tax_calculation_rate_id and the tax_calculation_id match up, by sheer coincidence). In some cases, this would give such an error because it couldn't find the rate;

```Call to a member function getTaxCalculationRateId() on a non-object in [....]/Observer.php on line 57```

This line still assumes that all rates in one Product Tax Group are the same rate. This is still not a 100% water tight solution, but this way it serves both the Dutch and the German markets (two of the few countries where this tax rule is in effect and this extension has any use).