Work around msvc /clr LNK2005 errors with QList

This patch fixes a compatibility with Qt 5 and Microsoft C++ /clr mode.
The QList copy constructor defines a Cleanup class that causes LNK2005
errors. It is a compiler problem, but the patch is simple. The use of
QT_TRY/QT_RETHROW instead of a Cleanup class is more consistent with other
Qt code, so is arguably preferable even without the compiler bug.

Task-number: QTBUG-31949

Change-Id: I1acfbae1924f0a52ffb8d9722b52e01b61edd42e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Remove a left over cast that is now semantically incorrect.

CFPropertyListRef is a typedef for void*, which is why this code was
compiling OK prior to this change.

Change-Id: I78d65652a76721434056bd9f6d011917e2864125
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Add support for Q_OS_FREEBSD_KERNEL and document

Also clarify documentation for OSes with variants. Q_OS_ANDROID should
have been called Q_OS_LINUX_ANDROID and Q_OS_BLACKBERRY should have been
Q_OS_QNX_BLACKBERRY.

Task-number: QTBUG-15402
Change-Id: I3a34d52a1c0ebb8eb73284bdf198443c209a5fd4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>