Bug fixes and style changes.

- Updates Windows and Mac joystick implementations to be standards
  conforming.
- Adds new methods to Unix joystick implementation for retrieving
  joystick name, product ID and manufacturer ID.
- Adds error messages for Windows, Mac and Linux joystick
  implementations.
- Updates Windows, Mac and Linux joystick implementations to match SFML
  coding conventions.
- Adds doxygen comments for joystick additions.
- Converts tabs to spaces in FreeBSD joystick implementation.