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!

I don't think this particular message should mention `Fathead` or `Longtail`.  Gives a false impression as to what will happen if they *do* get into the correct directory.

I'd also tighten up the branching a bit.  Make some kind of `%dirs` structure mapping the directory to the type (if necessary) and whether or not it is supported.  Just to make life easier if there's a new IA-type (say, 'JoodieS`) or we add `Fathead` support.