Add exit trap helper functions

Run a series of cleanup commands on exit. These commands can be
added with pushtrap() and removed with poptrap(). Every pushtrap()
should have a matching poptrap() to avoid unexpected behavior.
Utilize pushtrap(), poptrap()
Add lockfile helper functions

Add functions for creating and removing lock files.
Use sentence case for function "documentation"
Use mklock(), rmlock()

Use these functions to make safer save-on(), save-off(), and
save-all() functions, as well as a safer example backup script.
Remove OLDTRAP references

This variable was used before we implemented pushtrap() and
poptrap(), and is no longer used by anything.
Remove race condition in backup script

There was a window between `save-off` and `mklock save` where
someone could have run `save-on`.
Fix rmlock()

* Only try to remove a lock if it was created by this process
* Put edge case logic at the top of the function
* Fix typo: retval -> $retval
* Fix another typo: $TMPDIR/$lockname -> $lockfile
Fix bug in exit handler

This function attempts to mimic do what trap would do for every
command in TRAPSTACK, so it's supposed to use eval. From the POSIX
Programmer's Manual:

       Each time trap is invoked, the action argument shall be
       processed in  a manner equivalent to:

              eval action

So even though eval is evil, we're actually trying to evaluate
arbitrary code here, so I guess it's okay.
Use bash conditionals instead of posix '[' tests
Remove extraneous whitespace
Make locks more robust on multi-user systems

Before this change, any user could block certain clicraft actions
by creating the appropriate lock file in /tmp.
Update PKGBUILDs for pacman 4.1

Use the new VCS features for arch PKGBUILDs.
Remove arch PKGBUILDs

These will be maintained in my aur-buce repo from now on.

https://github.com/DMBuce/aur-buce
Update documentation

Add docs for new functions and update them for changed functions.
Tweak save-*

Make $retval local in scope and return the proper value in save-all.
Version bump

Bump to 0.0.7.
Merge branch 'devel'

These two branches have the same history except for commit e9240e73.
They diverged due to a misplaced `git pull --rebase`.