Allow closing of notifications by clicking on them

Adds a DoClick functions to notification icons made by notification/AddLegacy which changes the time left to display on the notification panel. Useful for when notifications might overlap GUI which is needs to be read or clicked on, but the entire panel is not clickable, which makes you less prone to accidentally close the panel.
Example: http://gyazo.com/15ebbcf7c769a127eee247ad49719c35.gif
Added SetMaterial to DImageButton

from DImage
Materials are now cached again

with DImageButton's inclusion of SetMaterial this now will work
SetMaterial updated
Updated DComboBox

Added
* PANEL:GetOptionData( id ) returns data of id
* PANEL:GetSelectedID() returns id of currently selected
* PANEL:GetSelected() returns text,data of currently selected item
prevent player getting killed if spawnpoint is too close to world origin
PrintTable now sorts its keys

For greater readability/consistency between prints
string.Trim, TrimLeft, TrimRight optimizations

And removed a few stray characters in string.Explode & Replace
Fixed a flaw with sorting
Fixed some unimportant code issues
Made 'tool.pulley.3' different from 'tool.pulley.0'

it can get a bit confusing for some people so i changed it.
Added DListView_Line SetSortValue

Does what it says, allows you to have a different value for sorting
rather than the text.
Added position parameter to AddColumn

Also removed the unused SetMaterial method for Columns. (what is it even
supposed to do??)
Update cl_scoreboard.lua

Make text on scoreboard easier to read by increasing contrast. Base gamemode and gamemodes inheriting from base (such as sandbox)
contraint ==> constraint
Removed effects.halo.Add for good.
Added TTTBodyFound hook

Passes finding player, found player, and corpse ent.
Temporary net.WriteType/net.ReadType color support
Merge pull request #751 from wiox/master

Temporary net.WriteType/net.ReadType color support
Fix the properties

Removes properties.HaloThink