389/389_useradd.sh: Update copyright to 2014
389/389_useradd.sh: Use lowercase function names
389/389_useradd.sh: Add environment variables for program name and args
389/389_useradd.sh: Use here document for usage message
389/389_useradd.sh: Add more help text to usage message

Documents the extra optional arguments and their defaults.
389/389_useradd.sh: Return successfully from usage function

We shouldn't exit 1 as this isn't actually a failure.
389/389_useradd.sh: Switch to functional programming

- Add functions for logical functionality
- Use function-local variables (lowercase)
- Use global readonly defaults (UPPERCASE)

Still need to clean up some other variable names and keep compartm-
entalizing functionality.
389/389_useradd.sh: Add comment for default variables