Cookbook names must pass a whitelist format

:fork_and_knife:

In particular, they may only contain letters, numbers, dashes or underscores. No spaces allowed. Knife currently enforces this (I think by coincidence) but we should make it official. If cookbooks whose names contain spaces creep in, it breaks stuff.