context: Fix leaks

https://bugzilla.gnome.org/show_bug.cgi?id=721246
context: Fix program name leak

https://bugzilla.gnome.org/show_bug.cgi?id=721246
context: Move the majority of gjs_context_eval to jsapi-util

And use it in the importer as well.

This deduplicates a large part of the script evaluation code.

https://bugzilla.gnome.org/show_bug.cgi?id=721246
Makefile: Remove unused gjs_files_with_tests

https://bugzilla.gnome.org/show_bug.cgi?id=721246
jsapi-util: Make gjs_strip_unix_shebang public and clarify some variable names

line_number in this instance is really the starting line number.

https://bugzilla.gnome.org/show_bug.cgi?id=721246
context: Use g_file_new_for_commandline_arg in gjs_context_eval_file

g_file_get_contents uses open() directly, but we really want to create
a file using GVFS so that we can evaluate files which are actually
resource URIs.

https://bugzilla.gnome.org/show_bug.cgi?id=721246
context: Add a context stack API

The current context is now based on a stack model, so clients can
freely push and pop contexts. The current context is the top of
the stack.

https://bugzilla.gnome.org/show_bug.cgi?id=721246