Fix expression2 saving and including on Linux

See wiremod/wire#331 for more details
Merge pull request #349 from Xandaros/patch-1

Fix expression2 saving and including on Linux
CD Disk: Fixed duping skins
Fixes http://errors.garrysmod.com/error/463175901/
E2 Files: Lowercased list of allowed directories
E2 Rangers: Refactored; Garryduping an E2 no longer crashes!
Turns out util.TableToJSON() crashes if fed keys that aren't numbers/strings
Fixes #219
Tools: Fixed error when updating an ent lacking a Setup func
Fixes http://errors.garrysmod.com/error/3939993959/
gmod_wire_adv_pod: lowercased the name of the remotecontroller SWEP to conform with its new entity name after all files were lowercased.
gmod_wire_adv_pod: clean up validity checks.
gmod_wire_adv_pod: added check of PlayerGiveSWEP hook. Closes #334.
Normalize line endings.
Merge pull request #355 from wiremod/normalize-line-endings

Normalize line endings.
Refactored Wire_DrawTracerBeam to base_wire_entity
Standardized uses of Get/SetBeamRange -> Get/SetBeamLength
Generalized SetForceBeam -> SetBeamHighlight
Cleaned up some Entity shared.lua functions that were unused
Trace Ents: Refactored to Gmod13 single file SENT format
Edits in next commit
Trace Ents: Finished refactoring into single file SENTs
Trace Ents: Switched from NetworkedVars to new DataTables
Range is now duped as a datatable var instead of with RegisterEntityClass
Is still backwards compatible with old dupes
Refactor of 8 SENTs to Gmod13 single file format, part 1
Edits in next commit
Finished refactoring 8 SENTs to Gmod13 single file format
E2 Rangers: Somewhat reverted last commit
Somewhat reverted 0c8a24684161716ac4abb0e16bf185e08aa63933
By using Wirelib's new table.MakeNonIterable (TomyLobo's design)
we can retain the speed of a lookup table without breaking Garrydupes
Merge pull request #351 from wiremod/standardizing-tracerbeam-ents

Refactoring 17 SENTs to new single file format
TextScreen: Minor refactor to simplify MakeWireTextScreen