Some EXILE_UNTIL enhancements

Convenience for "exile [something] until ~ leaves the battlefield"
EXILE_UNTIL works on things that aren't permanents
An EXILE_UNTIL object exiling another one doesn't crash the game
Fixing Exclusion Ritual's prohibition
New generator to get the event type of an event
Needed Shielded Passage's DRE on another card
JOU cards through Harvestguard Alseids
CardShell handles enters-the-battlefield-with-+1/+1-counters abilities

(also a templating update for "can't be blocked")
Changes to get "Monstrosity X"/when-this-becomes-monstrous to work
Fix to Fleetfeather Cockatrice
Convenience method for revealing cards and taking some

sequence() gets a small facelift to accomodate
JOU cards through Kruphix's Insight
Massive change to the take-from-top convenience event

Entirely new class for constructing those "Reveal/look at top cards, take
some, put the rest somewhere else" events.  Readability was the main goal.