Drivers enhance

This is smaller than it seems.

This boils down to:

 * new generic extensible `HipacheError` and derived `DriverError` class, for a more expressive, better exception handling in drivers / hipache in general (should ease work on #90 as well)
 * moving error classes and Driver interface to an `utils` folder (on the road to #94)
 * `IHipDriver` interface is less hippy now and is just named `IDriver`

The rest is tests kept in synch and enhanced READMEs.

I would love to see this merged soon so it can make it for 0.3.0