make channel-discover optional for custom channels

Should fix #437 but I feel it's a bit dirty and lacks any unit tests (along with the rest of the PEAR stuff really.) I based the change on the way the NPM packager works although I handled popen differently as I need it to work in Ruby 1.8.7 for various reasons. Should still be solid and testing hasn't shown any problems.