yelp-new: Be smarter about file paths

At Kat's request, you can now specify an output in a directory
other than the cwd, and yelp-new is smart about figuring out
whether to add extensions. Also, when specifying a local path
for templates, yelp-new is smarter about extensions.