lpar: Move "lpar -a" first in the chain

"lpar -a" must be always be executed regardless of whether $repo is
defined or not.

3d3ea3bc-bcfa-11e3-94b5-001f3b596ec9
84e04d0e-bcfc-11e3-bf5d-001f3b596ec9
lpar: Use lpar.name from git config instead of $ARGV[0]

Instead of specifying $repo as first command line argument, read it from
the lpar.name variable in git config. Much safer, and it makes
all-lpar(1) much more useful.

e422f18a-bcfd-11e3-97ff-001f3b596ec9
7c2c4c96-bd09-11e3-b6c7-001f3b596ec9
6e7c23b4-bd0e-11e3-945b-001f3b596ec9
lpar: Check for illegal characters in $repo

Only hyphen, 0-9, A-Z, underscore and a-z are allowed.

93ba19f6-bcff-11e3-ac3e-001f3b596ec9
lpar: Check that all command line args point to a valid commit

e02a4844-bd07-11e3-9ccf-001f3b596ec9
build-git: lpar_git(): Remove repo name from lpar command

lpar(1) reads the repo name from lpar.name now.

c0ee7030-bd08-11e3-b25d-001f3b596ec9
1411e4ee-bd0a-11e3-92e4-001f3b596ec9
Merge branch 'lpar.use-lpar-name'

Read repository name from the git config variable repo.name instead of
specifying it on the command line.

* lpar.use-lpar-name:
  build-git: lpar_git(): Remove repo name from lpar command
  lpar: Check that all command line args point to a valid commit
  lpar: Check for illegal characters in $repo
  lpar: Use lpar.name from git config instead of $ARGV[0]

ef8dfd36-bd10-11e3-8d9f-001f3b596ec9
all-lpar: Execute "lpar" instead of "lpar -a" in all subdirs

Should probably add a -r/--recursive option to lpar someday instead. But
it'll do for now.

c6287798-bd13-11e3-bcb4-001f3b596ec9
lpar: Allow '.' in repo names too

I've already used it, and as long we don't allow '/', things should be
ok.

ef0cf246-bd14-11e3-9a54-001f3b596ec9