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.