add -t and other new options

Make functionality closer to that in Linux. Add tree (-t) option. Add
version (-V) option. Add nonstandard parentheses (-p) option to take
advantage of Mac listing of manufacturer name. Fix some broken logic.
Send help output to stderr instead of stdout. Avoid use of temp file.
Revert "add -t and other new options"

This reverts commit b0ce7bcd37c8af768aef78304e76df17b31d0ffb.
modularizing and adding root hubs

Add root hubs to output. Modularize parsing routine for later addition
of tree function. Use its return value to decide whether to use output.
Add version (-V) option. Require colon for device (-d) function. Add
nonstandard parenthesis (-p) option to take advantage of Mac OS X
parsing. Send help output to stderr instead of stdout. Use arithmetic
comparison instead of string for bus and device. Avoid use of temp
file.