Added Network.Sockets

Taken from Simon Fowler's IdrisNet2 package. This is a thin wrapper over
the C sockets library.
Add toUpper and toLower functions for String
Normalise provider types before checking

This ensures, among other things, that:
 * Namespaces don't get in the way
 * Type synonyms get expanded
Add idris_net to data files
Merge pull request #858 from david-christiansen/string-upper-csae

Add toUpper and toLower functions for String
Merge pull request #860 from david-christiansen/provider-type-normalize

Normalise provider types before checking
Use 'with' to disambiguate defaults Envs
Rename UnusedArgs to Erasure.
Remove export of traceUnused.
Simplify unused arg search.
Cleanup and purification in Erasure.hs.
More purification.
Simplification with pattern guards.
findUsed stub written.
Make ProjCase take exactly one alternative.   (TODO: is this safe?)
Intercommit. (Deeper usage analysis.)
Ctor usage analysis roughly complete.
Intercommit.
Another intercommit.
Reapply 08779298ce2e95b3e16a5a3e5d9c0cf3936d0507 from master.