Support Prepared Statements

The new prepare() function lets users prepare statements and reuse them with a modified exec().