Changed the initial handshake to be synchronous
Made the Motion+ init a lot more robust
Code cleanup
Replace explicit 32 lengths for MAX_PAYLOAD
pre-declare wiiuse_motion_plus on motion_plus.h

-This ensures the function can be called outside of motion_plus.c
-Also eliminates an explicit declaration warning on events.c
motion_plus.c: Revise some includes

-wiiuse_internal.h was already included via motion_plus.h
-io.h is needed for wiiuse_read
[mac]wiiuse_io_read: Add buffer and length parameters

-According to the new signature for wiiuse_io_read
lowercase SET_SOURCE_FILES_PROPERTIES cmake command
no need to include mac IOBluetoothUserLib.h in wiiuse.h
OSX 10.6 compatibility
Merge remote-tracking branch 'upstream/sync-mplus' into osx-refactor_sync-mplus

Conflicts:
	src/events.c
	src/io.c
	src/io.h
	src/io_mac.m
	src/os_nix.c
	src/wiiuse_internal.h
fix wiiuse_read on mac and windows
conditionally compile handshake_state field
fix Windows compilation, wiiuse_wait_report and wiiuse_probe_motion_plus
remove the event_buf from the wiimote structure, allocating it on demand instead
fix *nix function names for read and write
same interface for all wiiuse_os_read's
same interface for all wiiuse_os_write's

this also means we moved platform-sepcific write code into the wiiuse_os_write implementation of each platform.
fix rumble flag and windows compiler warning
now swap WIIUSE_SYNC_HANDSHAKE usages again
fix *nix compilation error
we need to pass a single wiimote structure instead of the array to wiiuse_os_read