BaseEngine : Changed scope of private properties and methods to protecte...

Hi,

I needed to extend QueryEngine to modify some implementations. But I connot do this, as some methods and properties are private. 

This pull request just change the scope of those properties and methods to protected.

Hope this can be merged.