Implement UDFs.

Code is taken almost verbatim from sekelia.jl with the exception that the
handling of BLOBs has been changed. Very little testing has been done so far on
this.
Register regexp on database creation.
Merge branch 'master' of git://github.com/quinnj/SQLite.jl into UDFs

Pull the new .gitignore
Remove aggregate functions.
Implement scalarfunc macro.

Wraps an arbitrary function such that it can be passed to the registerfunc
function.
Handle functions which throw errors in scalarfunc.
Export correct funcs and rename sqlerror.
Finalise statements in query().

Leaving statements unfinalised means that new functions can't be registered with
the database handle.
Merge branch 'master' of git://github.com/quinnj/SQLite.jl into UDFs

Conflicts:
	src/SQLite.jl
Better error catching in scalarfunc.

Not all errors have a msg field so use string(error) instead.
Automatically name scalar functions.

Optionally get the name from the expression object by searching the args.
Merge branch 'master' of git://github.com/quinnj/SQLite.jl into UDFs

Pull fixed tests.
Merge branch 'master' of git://github.com/quinnj/SQLite.jl into UDFs

Pull fixed "fixed tests".
Merge branch 'master' of git://github.com/quinnj/SQLite.jl into UDFs

Finally fix the segfaults we've been happening.
Test regex UDF.
Infer name regexp from function.
Merge branch 'master' of git://github.com/quinnj/SQLite.jl into UDFs

More fixing of segfaulty stuff.
Neaten scalarfunc and improve error feedback.

Pull naming logic out of macro and add type annotations to the returned
function to prevent overwriting previously defined methods.

Let errors propagate, giving a more comprehensive traceback.
Add macro for preserving backslashes in strings.
Export and test sr_str.