Rework QueryInterface implementations and docs

A whole lot of stuff. Missing docs. Some actual errors in docs. Simplified some methods. Catching MWException's in the MW implementation.
Better to re-throw the exception, so you do not loose the information it contains. Then you also do not need to do `$result = false;`.