slingshot: sync with upstream for upload and moonscript support.

* slingshot: Sync with upstream.
* .travis.yml: Manually merge improvements from slingshot.
* bootstrap: Update from slingshot.
* bootstrap.conf (slingshot_files): Delete removed
ax_compare_version.m4.
* m4/ax_compare_version.m4: New checked in copy, because Zile
configury uses it to check that installed Emacs is new enough.
* .gitignore: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
zile: zile.Array module moved to std.vector.

* lib/zile/Array.lua: Remove.
* lib/zile/zile.mk (dist_pkgdata_DATA): Remove
lib/zile/Array.lua.
* build-aux/config.ld.in (file): Remove lib/zile/Array.lua.
* local.mk (dist_classes_DATA): Remove
doc/classes/zile.Array.html.
* lib/zile/syntax.lua (Array): Import from new std.vector, not
just removed zile.Array.
* lib/zile/lib.lua (concat, argcheck, argerror, argscheck):
Remove. Also moved to stdlib, and not used by any other Zile
code.
* bin/zemacs, bin/zz: Since we use std.strict, and (via
std.vector) std.debug, we must define _DEBUG before first
reference in std.debug_init.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
refactor: eliminate remaining zile.lib stack uses.

Now that stdlib-41 has sufficiently full featured std.vector
objects, we can remove the last hold-out uses of impromptu
zile.lib stacks.
* lib/zile/lib.lua (stack, metatable): Remove.
* lib/zile/syntax.lua (metatable.push_op, state.caps, state.pats):
Use std.vector instead of zile.lib.stack.
Adjust all clients.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
syntax: avoid spurious zeros for uncolored subexpression matches.

Save an attribute push and pop on most lines.
* lib/zile/syntax.lua (parse): If there is no color attribute
specified in a subexpression match, simply ignore it.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: update to unreleased stdlib-41 api.

* bin/zemacs, bin/zz: Use `std.require` instead of deprecated
`std.string.require_version`.
* lib/zile/file.lua, lib/zz/commands/buffer.lua: Use
`std.ripairs` instead of deprecated `std.table.ripairs`.
* lib/zemacs/eval.lua, lib/zile/term_curses: Use `std.memoize`
instead of deprecated `std.functional.memoize`.
* lib/zile/keycode.lua: Likewise.
(keycode): Return only the first result from memoized_keycode,
now that std.memoize returns multiple values properly.
* README.md: Update.
Add a "unreleased Zile sometimes requires unreleased modules"
note.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: build against stdlib-git-1 rockspec.

Until stdlib-41 is released, at least make sure each commit will
meet specifications with git stdlib.
* .travis.yml (script): Add LuaRocks install of stdlib-git-1,
currently providing version 41 of lua-stdlib.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
fixup

Signed-off-by: Gary V. Vaughan <gary@gnu.org>