pythonowy rstrip
add lcurrent alias
build-lily: we can fetch from main repo even if we've just cloned
build-lily: don't fool around with moving $build to trash

The previous code was a safeguard against accidentally removing
something important instead of actual build directory (this has
happened to me once), but it was buggy (sometimes the script
hanged on this step), and anyway the user is shown what directory
will be deleted.
build-lily: parametrize timeout, color some paths
build-lily: feed compiled commit info through cat,

so that it won't be passed to less by git-log (which caused
the script to pause execution until user exited from less)
build-lily: change how commits-to-be-built are passed to child repo

Until now, things were messy.  Running the script had a
chance of messing with $LILYPOND_GIT (in particular,
changing its HEAD) and it was impossible to compile an
uncommitted state, or a commit that wasn't reachable from
any of the branches (such commits aren't transferred between
repositories during a fetch - the child repo doesn't know
about some commits exising in the main repo).

Currently the state of the source code that should be
committed is passed from the main repository ($LILYPOND_GIT)
to the child repositories (residing in $LILYPOND_BUILD_DIR)
using a tagged commit. This allows to pass "detached"
commits, since the tag points at them and will be fetched
(when --tags flag in git fetch is used). Similarly, an
uncommitted source state is temporarily committed, the
commit is marked with the tag and fetched, but then the
original branch is restored to the previous, uncommitted
state.
build-lily: show help if no arguments are provided
build-lily: check if $LILYPOND_GIT is set, report warnings
build-lily: when building from scratch, use forced rm

..apparently it doesn't work without -f sometimes.
build-lily: use getopts to parse options
build-lily: cleanup. parametrize colors
build-lily: write help
lily aliases: update to reflect modified build-lily
build-lily: make 'builing binary' actually work
build-lily: cleanup, add more colors
build-lily: change dir colors to violet
build-lily: add specific error messages
build-lily: handle uncommitted changes in $source

until now, checking out commit_to_build in $source caused an error
when there were uncommitted changes in $source (this could happen
especially when building in $LILYPOND_GIT).

Using 'git stash' to hide these changes and reapply them after the
script finishes successfully should solve this.

In case of an error during script execution, a reminder warning
about the stashed changes is issued.  There may be problems with
handling uncommitted files - i haven't tested this.
pull-all: display correct branch in case of fail and a stash

if there were some uncommitted changes that were stashed, they
were from $currentbranch, not $branch.  That's what should be
displayed in exiting warning.