Default config functions

Makes dealing with config files much easier. Plugins can still override
this functionality.
JSON save/load functions now shared

Client side can also use them.
Client side console commands

No authentication and no chat command, just for client side console
commands with string, number or boolean arguments.
Various client plugins fixes/improvements

- Datatables now support per value access restrictions. This allows you
to network certain values to players with access to a certain command
only.
- A plugin's Plugin:NetworkUpdate( Key, Old, New ) function will be
called every time a datatable value is changed (if you've made the
function).
- Fixed the sh_loadplugin command not working correctly with shared
plugins.
- Fixed client plugins not being detected after moving the lua files to
lua/shine.
Consistent type checking
Brain fail

It's setting the dt value to nil, not the real stored value...
Reserved slots are a bit smarter

Admins with access to sh_reservedslot take up a slot automatically
whether the public slots are full or not.
Merge pull request #116 from Person8880/develop

Lots of backend stuff