app: added Config object with get/set/defined methods

- Removed TODOs and added them as issues on GitHub
- Changed a lot of 'defined' calls to be $obj->defined(q(attribute))
app: more fixes to get methods, add pod2usage to Config
app: added --morehelp switch, more config fixes

- Implement logic for --update-ls-lar so it exits immediately after
  ls-laR.gz is downloaded
- Tweaked the log format to show only the first letter of the log
  facility and the current method/package name, and the current line
  number
app: set $lslar_file if --use-local-ls-lar file is used
app: Download ls-laR.gz file from --url location; resolves #1

- When a custom --url is specified, use that URL for downloading the
  ls-laR.gz file as well as all other files