Magic Mania 1.5: Big Trouble in Little Boxstation

---

A Few New Wizard Items

Staff of Chaos: Shoots random magic bolts. Charges faster and can hold more shots than other staves.
Staff of Door Creation: Works the same as the wand of door creation. There is apparently demand for this! Charges faster and can hold more shots than other staves.
Wand Assortment: A belt that comes of one of each useful wand, generated with the highest number of shots possible.

---

Cleaning Up the Spellbook

The spellbook was getting REALLY long, so it's been segmented into pages for spells, items, and one time use spells (aka the fun page). The spellbook also highlights the fact that you can upgrade spells better now.

---

Summon Magic Rebalancing

There's now a new catagory of magic items that are especially potent. These have a very low chance of showing up now and only one can spawn during a casting of summon magic, if one even spawns at all. The person who gets it is not guarenteed to be a surivor either.

In this category: Staff of Animation, Staff of Change, Staff of Chaos, Wand Assortment, Contract of Apprenticeship.

Additionally the staff of door creation is now in the normal pool and the staff of change is no longer in the normal pool.

---

Misc Stuff

Adds Bats and Goats to the staff of change.
Changes the charge spell so if you charge something that can charge on its own there's no chance of degradation.
Modified qdel() to accept any datum.
The garbage controller no longer bothers nulling out every variable on destroyed objects.
An object can opt to not be collected by returning true from Destroy().  Useful for pools or other edge cases.
Fixed boxes not being collected, along with a couple other things.
Turfs will not be monitored for collection.
generate_ion_law() is no longer a /datum proc, and I am an admin in the repo.  Deal with it.
Undid the silly rename I made weeks ago.
Prevented repeated qdel calls from calling Destroy multiple times for non-pooled objects.
Ensured that newly qdel'd objects are added to the end of the `destroyed` list.
Fixing being able to hear with earmuffs on.

I hope I didn't make any mistake, this should prevent ear_deaf from flickering between 0 and 1 while wearing earmuffs.
missed a parenthesis
fixing the cure description for Pierrot's Throat.

The possible cure will now read as "Banana" so that people don't think the cure is to eat a single banana.
Fixing message typo and adding new cleaning target to cleanbot

Fixes the cleaning message containing two "the"
Adds egg, tomato and pie smudge, flour stain, ashes, gooey grey masses and glowing goo to the list of targets to clean for the cleanbot.
moving dirt from blood targets to normal targets
Only checking for earmuffs once.
Changing cure description to "Banana products, especially banana bread."
Modernised the solar control computer's UI.
Cleaned up the solar code a bit.
Removed trackers requiring power, should stop them from being processed.
Merge branch 'master' of https://github.com/tgstation/-tg-station into avoiddrama_codemagic

Conflicts:
	code/datums/spells/charge.dm
	code/modules/projectiles/ammunition/special.dm
	code/modules/projectiles/guns/magic/staff.dm
Fix for issue 3190

Fixes deletion of src object rather than the intended p objected, also
ensures ai/onclick doesn't depend on the photography module being
present or bug free by gracefully handing the lack of a aicamera object.
Merge pull request #3028 from Incoming5643/avoiddrama_codemagic

[Needs Sprites] Magic Mania 1.5: Big Trouble in Little Boxstation
Merge pull request #3187 from phil235/pierrotfix

fixing the cure description for Pierrot's Throat.
Update ai.dm
Merge pull request #3177 from phil235/earmuffsfix

Fixing being able to hear with earmuffs on.
Merge pull request #3186 from phil235/cleaningbotfix

Fixing message typo and adding new cleaning targets to cleanbot
Merge branch 'master' of https://github.com/tgstation/-tg-station into saccult
Fixed a typepath on the MiniStation map.