Switched car dealer to shop system

This fixes #75 and fixes #72. Vending machine now has a max limit, which
fixes #96. Switched method for 'AddX' functions in shops, now uses
table.insert. Moved AddShop functions to top of file. Added
shop/sh_vehicles.lua which currently includes HL2 and TDM Ford vehicles
(which only show if installed, like all other shop content). Modified
shop system so that the entity spawn function can be overridden, useful
for vehicle spawning (which is retarded and needs special code to work
properly). Fixed important bug in clientside shop menu which would cause
the wrong item to be bought. Added vehicle support to clientside shop
'is installed' checks. Added support for 'no shipment' shops, again
useful for vehicles which we don't really want stacking up in a tiny
box. GUI also adjusts accordingly. Revised shop system so that available
shops are defined in sh_teams instead, which makes much more sense and
no more hardcoded names (LocalPlayer():IsTeam("gun dealer")). Added
optional default parameter to Player:GetTeamValue. Fixed team 0 having
an invalid model. Added utility function Entity:SetPlayerOwner(ply).
Fixed shipment/vehicle selling in sv_sellstuff (soon to be refactored
though (#93). Fixed strangely coloured error in !job.