Engine guards

Server#RunQuery can return early and destroy engines before they start executing (Aggregate()). Add guard clause to Aggregate/Merge and bail out early if that happens.

@benbjohnson