libmseed logging facility now uses Python callbacks

These Python callbacks either print a message, raise a warning, or an error, acoording to the following scheme:

```C
// Prints to stdout
ms_log(0, "...");

// Raises an obspy.mseed.core.InternalMSEEDReadingWarning
ms_log(1, "...");

// Raises an obspy.mseed.core.InternalMSEEDReadingException
ms_log(2, "...")
```

The only issue in my eyes is that some internal libmseed routines use `ms_log(1, "...")` which raises a warning even though it is only intended as a log message. I think this is an acceptable trade-off and will not be noticed by most users.

Another point: We should revisit the idea to have some base exceptions defined in obspy.core.