Allow NewQueryEngine to return an error

Some errors only appear pretty deep. A "SELECT COUNT(*)" was ending up as a panic, when instead it should have been returned as a query error to the user. This adds plumbing for returning an error from NewQueryEngine.

Reproduction: execute a "SELECT COUNT(*) FROM proc.stat.cpu" and, pre-patch, you get a panic in your terminal and nothing in your browser. With this patch, you get "ERROR: function count() doesn't work with wildcards".

This also adds early-exit logic to `yieldSeriesData` where errors were being collected but not processed. I don't know if this is correct. All of my manual tests pass, and the non-coordinator tests seem to pass.

<!---
@huboard:{"custom_state":"","order":319.0}
-->