Speed up the checking abilities of an extension

- Added $db_param variable to keep additional information about an
extension
- Extension's ability to accept additional parameters is discovering
once, on the initialization stage, instead of checking it on every
query.
- Extension's ability to explain a query is discovering once, on the
initialization stage, instead of checking method_exists() on every
"$this->explain" run.