Correctly implement `strings/eval`.

Previously, the `env` argument was ignored; now it is passed to
`utils/load`.
Improve resilience of `strings/interp`.

Force interpolated expression result to be a string.
Rename `strings` library to `string`.

For consistency with the standard library, and with later lp8 libraries.
Credit pydsigner for filing GitHub issues #1, #2.

Add pydsigner [https://github.com/pydsigner] to credits lines in
`match_attack.lua` and `modify_unit_attacks.lua`, for filing issues #1
and #2 on GitHub (which were fixed in commits
7b94e0f54e03d2598de95241216c6eba5bcb25e0 and
aa8113bbe0509dadf985910f4c1225d1ba00779e, respectively).
Performance tweaks — localized some variables.
Correctly implement `modifications/get_objects`.

Previously, the `full_tags` parameter was interpreted inversely to the
specification.
Add `load` library.
Merge branch 'lib/load'

Add `load` library.
Add `table` library, with `table/copyTable()`.
Merge branch 'lib/table'

Add `table` library.
Rename `utils.lua` to `butils.lua`.

This will allow `utils.lua` to depend on `type.lua`, while `type.lua` depends
on `butils.lua`.

As far as other add-ons should be concerned, `butils.lua` is part of
`utils.lua`.
Add `utils.lua` stub.

This simply loads `butils.lua`. See parent commit.
Add `utils/dbgstr()`.
Add check for `wesnoth` in butils.lua.

`lp8.wml_vars` will only be set when `wesnoth` is available.
Merge branch 'lib/butils'

Split `utils` library into `utils` and a new internal `butils` library.

`butils` will not depend on the `type` library, and can be a dependency
thereof, whereas `utils` can depend on `type`.

`utils` will load `butils`, so external add-ons should notice no difference.
Convert `utils` to use `load` lib.
Convert `string` to use `load` lib.
Convert `wml` to use `load` lib.
Convert `serialize` to use `load` lib.
Convert `match_attack` to use `load` lib.