* Move Heist.SpliceAPI to map-syntax (https://github.com/mightybyte/map-syntax)
* Add namespace support to heist

  This means that users will be able to specify a namespace under which Heist will operate.
  If the user specifies a namespace of "h", then the splice '"foo" ## fooSplice' will match
  the tag <h:foo>.  This alone doesn't give us much benefit.  But on top of that we will add
  checking so Heist will throw an error if it encounters any <h:...> tag that does not have
  a splice bound for it.  This will be a big help in finding bugs caused by not having a
  splice bound.

* Pull "snap init" and project template stuff out of snap into a separate package
* Switch "snap init" test suite to use sandboxes instead of cabal-dev