Added string interpolation to queries

String interpolation allows small snippets of code within a database query
This is useful if the database query will depend on data the is loaded from other sources

Code delimiter is @{...}

Example: SELECT * FROM my_table WHERE id IN (@{paste(ids, collapse=',')})

Here ids is previously loaded variable

This feature requires GetoptLong as it uses qq() for the interpolation

TODO: This assumes that the data is loaded in the correct order. For simple cases this is trivial.
It would be nice to add topographical ordering so that data can be loaded in the correct order.
Created require.package()

This function will require the given package. If the package is not installed
it will stop execution and print a message to the user instructing them which
package to install and which function caused the error.

Use require.package when loading GetoptLong
Updated Changelog