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.
Add `load` library.
Add `table` library, with `table/copyTable()`.
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.
Add `type` library.
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.
Convert `modify_unit_attacks` to use `load` lib.

Not that there was much to convert — the only symbol is a WML action
tag, exported to `wesnoth.wml_actions` rather than `lp8`.
Convert `modifications` to use `load` lib.