Fix issue 178: ExecuteReader now returns a wrapper around the command/reader pair, so that the lifetime of the command is extended

Also improve documentation around use of "dynamic" in Query()