environment requires bpm.events
bash_escape now handles multi-line values
bpm now compiles enabled plugins into one script

that can be simply sourced at the load/login time.

When a bash script that contains a `declare` is sourced inside a
function, then unfortunately all of those declared variables become
local variables, hence invisible outside the function.  For example,
_xspecs variable in bash-completion2, sourced by bpm's bash_completion
plugin was mysteriously disappearing after sourcing the defining script.
(See: http://stackoverflow.com/q/2891473/390044)

To avoid this variable capture by the internal functions of bpm, bpm now
hijacks invocations of source (and `.`) to observe what new variables
have been defined by the sourced script, and declares them explicitly as
global.  Considering the values of variables slowed down the loading too
much, so it's currently disabled.

Somewhat related to this issue, but mostly independent, because bpm now
compiles all plugins to be loaded into a single file, the loading part
became much lighter.