Some work on allowing channels in specs

Support still needs to be added in the plan module to grab the package from
the correct channel when it is specified, and to download extract the package so that
it doesn't conflict with other packages with the same name.

See #988.