fix(database): More robust sql script execution.

Implemented tests for various formats of SQL input and fixed a bug that caused
text inside SQL strings to be interpreted as comments. Specifically, "INSERT
INTO x values ('some string -- not a comment');" is now supported. Also added
support for comments prefixed with #.

Note that this fix only remove comments that start at the very beginning of a
line. Comments that are appended at the end of a line will be included with the
statement. That is, "INSERT INTO x VALUES (); -- Comment" will be interpreted
as one statement and passed to `$this->updateData()`.