Disallow plv8.execute and others if out of transaction.

These calls to open a sub-transaction don't usually happen although it is
annoying when it comes to the remote debugger environment where the debugger
can break out of transaction.

Reported by Troy Kruthoff.
Revisit GetAlignedPointerFromInternalField.

The API is not available in a slightly older version but it seems Cast/Value
method works.  While we could bump up the supported v8 version with plv8
version but for now let's stay with old versions.