File sending.
Basic ntox file sending.
File sending now works on bad wireless connections.
Core now takes better care of file transfers.
nTox updated with changes in core, some file sending things fixes.
Removed useless ifdefs.
Fixed bug.
Max length of filenames is now 255 bytes.
Add tox_wait() for socket, allow tox.h include in tox.c

tox.*, Messenger.*, network.*;
- new function tox_wait() => waitMessenger() => networking_wait():
  - waits for a given amount of time for any sort of socket activity
  - mustn't change anything inside, mustn't poll or do other stuff
    - the point is to be able to call this asynchronously from a second thread
    - the outside shall follow up with an immediate tox_do() when there's socket activity

tox.*:
- allow inclusion of tox.h into tox.c, ensuring that the outside interface and the internal always match

util.c:
- squished a few warnings about questionable format strings
File control packets can now be used by the person sending the file.
Merge branch 'file-transfers' of https://github.com/irungentoo/ProjectTox-Core into file-transfers
File sending added to public api.
Merge branch 'file-transfers'

File transfers are now working and in public api.
Only add write-ready to select() if we have packets queued

Lossless_UDP.*:
- sendqueue_total() sums sendqueue() across all connections

network.*, Messenger.c:
- sendqueue_total() is collected and then used in deciding if we select() on write-readiness
Code cleanups.
Fixed some possible bugs.
Broken *_wait() into *_wait_prepare() and *_wait_execute()

To allow the actual waiting to run without any locking, split it into preparing the data it uses and the execution of the wait.
The caller must provide with the buffer to store whatever data it requires to wait.
Completely eliminates any reliance on the existence of anything but that data in the actual wait routine.

Also fixed a few argument type warnings inside LOGGING.
m_addfriend_norequest now prevents you from adding your own id as friend.
Fixed file sending bug.
Tox sync added.

Tox sync is a proof of concept bittorrent sync inspired application that
uses tox to sync the contents of two folders.

Currently only works on POSIX compilant operating systems.