Modified command line behavior to handle label changes and possible conf...

...licts.  Changed password behavior to not require changes and not require typing password in the clear on the command line
I cleaned up this code quite a bit in the latest commit for you.  However, in switching over to AddLabels() and RemoveLabels() I think I found a bug in RemoveLabels().  I modified it to mirror AddLabels(), but I'm really not sure if that really was just a bug or if my changes induce other problems now.