fix 'typedef redefinition' build errors on older gcc versions

Several typedef definition included in current toxcore master prevent systems with older GCC version from building the project. FreeBSD 9 (latest stable) for example still uses GCC 4.2.1. and has no intentions of upgrading (http://www.freebsd.org/doc/en/articles/custom-gcc/article.html) due to licensing issues. 

The problem is caused by typedeffing structure types to themselves, i.e. "typedef struct foo foo" in multiple places. This behaviour no longer triggers an error in recent gcc versions, but causes builds to fail for gcc versions I suspect up to 4.6. The patch included removes the duplicate typedefs where necessary.