Merge pull request #37 from patrick-higgins/label-support

Several unrelated commits
Fix NPE when con.readPassword returns null.

This happens (at least) when stdin is /dev/null.
Allow -f folder option to be a regex.

When top-level folder names change but the folder you are looking for does
not, the old fixed-name logic was insufficient.
First checkpoint.
Try to get resume on top of view base working.
Add exception handling for views the user does not have permission to access.
List views ahead of time so progress can be tracked.
Split checkpoint into separate operation from writeLabelTag.
Show completion progress as <current>/<total> counters.
Update writeReset javadoc.
Write annotated tags for each label to preserve label description.
Populate NON_EXCLUSIVE_LOCKERS as it is referenced on checkout.
Skip views we cannot get the base configuration for.
Discard label cache to save memory.
Add Log class so we can have timestamped output.
Close views to prevent memory leaks.
Make auto-reconnect calls after login.

This may not work, but it didn't seem to work before login, either.
Create checkpoints when using all-views mode.

Without them, fast-import crashes as soon as we try to create a branch
from a tag we created earlier in the import.

Using marks only might be preferable.
Don't save file information when checkpointing.

If the need to checkpoint when doing an all-views import was removed, then
we could save file information during a checkpoint.
Track branch base refs so all-views mode doesn't require checkpoints.