Ranges for banning and unban.

Implemented range banning.
Implemented single ip and range unbanning.
g_weaponOwnerLock fix; dropping gun when dead

Dropping weapon when dead will cause it to be bound to that player, so
the gun can no longer be picked up by others (abuse of the feature).
This will make it so if they are dead and manually drop weapon it can
still be picked up by others.
Single IP and Range IP banning implementation

Range banning is based on subnet masks. i.e. 192.1.0.0/16 will ban all
IPs in range 192.1.0.0 to 192.1.255.255.
Bitwise operation here was unnecessary.
Rigorous testing this time, everything is passing.
Finished.. Unavoidable C bug found

This is as good as it's going to get. Read comments on the clamping
required.
Caused compilation issues on other PC
Merge pull request #4 from nobowned/develop

- Subnet banning implementation
- g_weaponOwnerLock fix

TODO: 
Banning has to be tested and bug resolved.
[banning]Cleanup:
- Moved stuff out of q_shared.h as 'G'_shared.c is not shared between modules ('Q'_shared.c is),
- Removed typeless/lazy casting,
- Modified layout so it follows same standards,
- Fixed type mismatch.

TODO: 
- Subranges currently have no use since banning commands were not modified to work with it.
- Fix names and logic as it's cryptic. 
- Extend sscanf and squeeze password/reason in.

NOTE:
- Reason cannot be longer then around 36 chars as due 1.0 client bug, message goes out of window.
Removed crash commands..
- Ideally logic would be fixed but in 12 years no one used so what's the point..
- Unified parseIP & Banned functions
- Simplified Banned function
- Cleaned up checkBanned in g_client.c a little..

TODO:
- Patch admin commands for it
- Update bypass function
- Add reason printing (maybe dropping client to avoid overlay bug?)
Small typo fix..
Optimized Banned a little
- No point comparing first bit since match is already required in order to enter..
- Adder rangeBan command so client can be banned with subrange pre-set.
- Patched addip % ban command so it adds password/player-name/date/reason to banned file.
- Added getDate for date only printing

TODO:
- Fix addip
- Reason is currently hard coded to none..I need to patch parsing of input so it accounts spaces..
- Modify getTime to show time only and add getDateAndTime for full print..
-- After modification. Patch all functions to use getDateAndTime..
Merge pull request #1 from natelo/master

Syncing fork with nate's repo