Implement Shadow Madness with several tests

Shadow Madness is immediately removed on silence. That's easy
enough, just have it give back the minion on death, right?
In doing this, I discovered there is no way for a buff to know
about its own destroy. A BUFF_DESTROY event would be broadcast as
SELF_BUFF_DESTROY to the minion in addition to the buffs, so it
would be useless without hacky argument checking.
Instead, we allow for a destroy() function acting as a hook that
is not based on the event system. It's slightly hacky as well, but
actually falls in line with the design of apply().

Open question: What happens on bounce() then? The buff supposedly
gets destroyed in that event as well. Maybe this should check for
Zone.PLAY? Will have to test.
Implement Starving Buzzard
Implement Arcane Missiles, Avenging Wrath and Mad Bomber

With a basic test for Arcane Missiles
Move stealth to Minion and unstealth on hit() instead of attack()

See #2
Implement Chromatic (Faerie Dragon/Spectral Knight), with tests

NOTE: The tag used is probably wrong.
The Collectible tag is actually useful
Make card definition IDs available in cls.id
Ensure the import initialization only happens once
Gracefully handle undefined auras (unimplemented definitions)
Improve randomDraft and move it to fireplace.utils

Lets us get rid of the ugly cardsForHero as we can now just list
all collectibles.
Gracefully handle undefined deathrattles as well
Broadcast MINION_DESTROYED to Card as well
Rename *MINION_SUMMONED to *MINION_SUMMON
Rename *MINION_DESTROYED to *MINION_DESTROY
Add a note about the wiki and the license
Implement Conceal, with tests
Implement Ysera and all the Dream cards
Don't start putting heroes in the deck, that's nasty.
Rename spellpower attribute to Spellpower
Handle the Spellpower attribute from card definitions