Jessie desktops

just opening this for review, comments welcome

still 3 major issues left that I'm aware of:

* d-i asks non-preseeded question (rt#3049)
* udev names network interface eth1 (rt#3050)
* puppet-trigger doesn't work on jessie (rt#3052)
Should be fixed in 3e5572b25081b02d4985a5c707fd9887a25d081e. I don't fully understand what's going on, but from some reading it seems like require and include are quite different.

Essentially, require mandates that that entire class must be loaded **before** anything in this class will happen, whereas include does the "normal" thing (i.e. not forcing dependencies unless you explicitly write them). So, we're overusing require in some places where it doesn't make sense to (and probably still are, so maybe cleaning that up is a TODO item).