duckpan new update

- These changes were necessary for the new quick start tutorial to work.
- Now the "name" can be a proper package name or filepath ("MyFirstSpice::Moollaza", or "MyFirstSpice/Moollaza") -- this is important so you can create a new Spice under a new or exists namespace, e.g. `Transit::GoTransit`
- If the directories don't exist, they will be created
- Big code cleanup and de-duplication
 - reordered the code, so that if the user is in Longtail or Fathead we stop executing before asking them for input
- Also if you run it in the Fathead or Longtail repo it will gracefully die with an error message explaining they aren't supported

cc// @mwmiller please prioritize this if possible. If it's OKAY, would like to merge and then I'll make any necessary improvements after. This is needed for the new tutorial. Sorry about the rush!

Would love to write some tests for this, but I'm not sure about the best approach. I think I'd need to make a temporary directory and then populate it during the tests? Any thoughts on a testing approach would be helpful!

My only counter argument is that when you give as input "foo bar baz", it'll show you that the Package FooBarBaz was created. Which I feel is a nice confirmation that everything was correctly interpreted.

I'll play around with it a little more and see...