Changes so users can link AllJoyn against a C++ project

 - Fixed many warnings that causes a C++ compiler to throw errors
 - Added function declarations that cause C++ errors
 - Added extern "C" to some headers so C++ can include them

Change-Id: Ic3fb4e1a1a1701603d5657a1b0d8566f04140dff
Signed-off-by: James Prestwood <jprestwo@qce.qualcomm.com>