Fixed invalidly handling multiple clients

- Iterate over all clients and see if they have packets to send rather than find the client which has a few packets to send
- Use asprintf for paths when we open a file, prevents nasty hacks and crashes from becoming possible, sadly this may make the server slower because malloc is slow.
- Lots of identing and spacing fixing thanks to Kdevelop.
- Use TIDs rather than guessing what the client is
- Added a SizeReduce() function which will reduce the size of a file to their megabyte/gigabyte form (Or larger).