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.
Make ei nath not destroy brains
Also small tweaks to make spells GC if you use the spellremove() proc.
Merge branch 'qdel-with-datums'

Conflicts:
	code/_onclick/hud/screen_objects.dm
	code/controllers/garbage.dm
	code/game/atoms.dm
	code/game/objects/items/weapons/storage/storage.dm
	code/modules/mob/mob.dm
Merge pull request #3168 from YotaXP/qdel-with-datums

Modified qdel() to accept any datum, among other things.
Removes the click cooldown from almost everything, now it should be always be 0.1 seconds.

Ranged weapons and laser eyes have a cooldown of 0.4.
Grilles, windows, windoors, walls and blobs have a cooldown of 0.8.
Hitting mobs will also have a cooldown of 0.8.
Removes the unused USEDELAY flag.
Merge pull request #3216 from Aranclanos/ClickDownRemoval2

Click cooldown removal take 2
changelog update for click cooldown removal
Merge pull request #3217 from Aranclanos/CHANGALAG

changelog update for click cooldown removal
Merge pull request #3195 from MrPerson/qdel_ei_nath_REDO

Make ei nath not destroy brains again
Merge pull request #4 from tgstation/master

update from root fork