pub fn select_pkg<T, F>(
    source: &mut T,
    dep: Option<Dependency>,
    list_all: F,
    config: &Config
) -> CargoResult<Package>where
    T: Source,
    F: FnMut(&mut T) -> CargoResult<Vec<Package>>,