Add support for user avatars in the core protocol

Add a protocol and the APIs to straightforwardly support user avatars
in client applications. The protocol is designed to transfer avatars
in background, between friends only, and minimize network load by
providing a lightweight avatar notification for local cache validation.
Strict safeguards are imposed to avoid damage from non-cooperative or
malicious users and to limit network usage.

The complete documentation is available in docs/Avatars.md and sample
code is available in testing/test_avatars.c.

Code and documentation are released under the GNU GPLv3 or later, as
described in the file COPYING.
Linked toxav in the main dependencies section.
Fixed iOS possible SIGPIPE issue.

Apparently on iOS UDP sockets can SIGPIPE (what the fuck apple?).
Merge branch 'patch-6' of https://github.com/mouseym/ProjectTox-Core
Fixed typo.
Added encrypted save to toxcore, if sodium is used
Note, this is untested
Merge branch 'master' into encrypted_data
Update tox.c
Increased number of friends tested in tox_test.
fix travis sodium version
Merge branch 'encrypted_data' of https://github.com/dubslow/toxcore into encrypted_data
Added custom packet functions to public tox api.

This should make it easy for people to use toxcore to power many
types of networked applications.
This fixes an issue where nodes could stay unannounced for certain
periods of time.

Online nodes should now be able to announce themselves continuously.
Updated docs.

Fixed possible issue in last commit.
Fixed typo.
Added tests for custom lossy and lossless packets.

Fixed bug with lossless packets.
Merge branch 'master' into encrypted_data
Added tox_connect function, no connecting done during tox_load
compiling against nacl seems to break VANILLA_NACL...
Fixed spacing