Added completion file for Maven
plugin-specific metadata

cite about-plugin metadata.  This could be retrieved later, say by an
install script or other helper function, with:

cat ~/.bash_it/plugins/enabled/base.plugin.bash | metafor about-plugin

In this way, summaries of each plugin may be provided to give newcomers
(like me!) an overview.

also, rewrote plugins-help(), which didn't work very well on my system.
It now dynamically queries composure metadata.
update composure
update plugin documentation
add todo.txt-cli as a plugin

Since it is referenced in the default .bash_profile and in aliases and
themes, why not make it an official plugin?

This creates a 'todo/' directory in /plugins/available, and installs
todo.sh and friends there.  Tab completion and the 't' alias should work
out of the box.

Note: it was also necessary to modify .gitignore to ignore the files
todo.sh generates in custom/.
Merge branch 'master' into todo.sh
respect profile overrides

overrides may now be specified for any of these defaults:
TODO_DIR=$BASH_IT/custom    # change if you want todo.txt and friends
                            # to live somewhere else

TODOTXT_DEFAULT_ACTION=ls   # change if you want a different action,
                            # like 'lsp' or 'lsprj'

TODO_SRC_DIR=
$BASH_IT/plugins/available/todo  # for custom installs with plugins
Merge branch 'master' into plugin_metadata
fix bug in fasd init

since we're sourcing this as a plugin, which loads the function, it's
counterproductive to also define the 'fasd' alias

moving the about-plugin metadata into the case block makes this script
safe for execution even if composure metadata isn't exported and
available

rename fasd.bash to fasd.plugin.bash to bring it inline with the other
plugin scripts
update to latest version of composure.sh

this fixes a bug in draft() and improves performance in metafor()
and glossary()
basic plugin management

move plugin management functions into 'lib' group in helpers.bash
standardize plugins, update metadata

add about-plugin metadata
chmod -x plugins
cleanup filenames to standardize on x.plugin.bash format
only plugin files intended to be executable from the command line should
contain a shebang line, and should be a+x.
disable z() if fasd is enabled

loading fasd clobbers z(), and results in a cryptic syntax error
message, since 'z' is already an alias when z.plugin.bash is being
sourced.

this conditional detects this situation and returns early.
update plugin management
update help documentation
fix typos
Fix load_some() installation to handle file paths instead of names.

The ls command in for loop has a pattern now, so full paths are
returned. The user prompt and symbolic link have been updated to handle
this.

Also, not all plugins have '.plugin.' in the middle of their names and
weren't showing up on user prompt. With this commit, everything after
the first period in the file name is stripped.
fix typeset_functions

typeset_functions relies on a hack to determine the shell it is running
under. this hack fails on some versions of bash. if the $SHELL variable
is set, prefer that instead.

fix bug in draft()
plugins-help is much faster

this replaces the naive implementation that called glossary() on each
group, and is an order of magnitude faster.

fix grouping in javascript.plugin.bash
test existence, not symlink

it isn't safe to assume that symlinks created in the enabled/* dirs will
be symlinks later...

some users use tools like Dropbox to sync their files across systems,
and these may transform symlinks into regular files.  explicitly
checking for symlinks with tests like [ -h $file ] will break on these
systems.  these tests have been replaced with [ -e $file ] instead.