Adds name, manufacturer ID and product ID for joysticks.

Implemented on Windows, Mac OS and Linux as described in ticket #152.

__Changes__

1. `JoystickCaps` renamed to `JoystickInfo`.
2. Adds `name`, `manufacturerID` and `productID` properties to `JoystickInfo`.
3. Adds `getName(unsigned int index)`, `getManufacturerID(unsigned int index)` and `getProductID(unsigned int index)` methods to `sf::Joystick`.
4. _Linux_: Adds dependency on `udev` for getting joystick manufacturers and product IDs.
5. _Windows_: Defines `_UNICODE` for full Unicode support on Windows. See [this](http://stackoverflow.com/questions/4661304/define-unicode-not-working-with-mingw-codeblocks) and [this](http://blogs.msdn.com/b/oldnewthing/archive/2004/02/12/71851.aspx) for details.

__Testing__

Tested on Windows 8 x64 (compiled with Mingw) with the Xbox 360 pad (wired and wireless) and Dual Shock 3.

Tested on Mac OS 10.7 Lion (compiled with clang) with the Xbox 360 pad (wired), Dual Shock 3, and Wiimote (without attachements, with nunchuck, with classic controller).

Tested on Linux (Ubuntu 13.10, Mint 16, Manjaro, and Fedora 20 all 64-bits) with the Xbox 360 pad (wired). All Linux distros were running in VirtualBox.