[WIN32] fixed: our fribidi package was missing a header.
[WIN32] changed: updated libass to v0.10.0. Some nice new features
(Bidirectional layout and Arabic shaping) and some bugs fix.
Adds dates to HTTP directories.

This commit adds dates to directories and files listed from an HTTP
source and thus enables the user to sort them by date. It has been made
with Apache and Nginx autoindex modules in mind. There's also a small
change that enables XBMC to read the filesize from Nginx and it adds
the static method MonthStringToMonthNum() to CDateTime. CHTTPDirectory
uses this method to add dates to files/directories.
websocket: remove unneeded <boost/uuid/sha1.hpp> include from v13 implementation (only needed in v8 implementation)
[WIN32] file reshuffle: move win smb sources from win32 to filesystem/windows
[add] - make ProcessJoystickEvent and CAction aware of an optional parameter holdTime
[add] - add holdTime member to the joystickbutton event
[change] - make WinEventsIOS use the jbutton member of the XBMC_Event for passing through the holdTime
- add GetQueueSize member method for rate control
[atv2] - add repeated keypresses by using NSTimer
Merge pull request #710 from Memphiz/atv2remote

[ios] - Allow repeated keypresses with remote on atv2
updated gcc to 4.6.2
updated mingw env, cosmetics and a missing file.
[splash] - bump master splash to the generic one of eden
changed: backport UPnP Platinum fix for missing maximum/minimum values
fixed: undeclared memcpy on linux
jsonrpc: refactor to simplify includes

First of all the "architecture" of Announcers has changed.
- Up until now every class that would like to listen to announcements going through CAnnouncementManager has to implement ANNOUNCEMENT::IAnnouncer. Furthermore they have to include AnnouncementUtils.h to get access to the CAnnouncementUtils::AnnouncementFlagToString method. AnnouncementUtils.h has been removed and the AnnouncementFlagToString method has been moved to IAnnouncer to get rid of that extra include.
- The EAnnouncementFlag enum has been renamed to AnnouncementFlag as IMO a type name containing "Flag" already indicates that it's an enum. This one causes a lot of small changes throughout the whole JSON-RPC code which is why this diff is so huge.
- A IJSONRPCAnnouncer has been introduced which derives from IAnnouncer and additionally contains the protected method AnnouncementToJSONRPC which translates any announcement into a valid JSON-RPC notification. This method was previously available as a protected method in CJSONUtils which required JSON-RPC announcers to derive from CJSONUtils just to use that specific method. As an example in the new code CTCPServer only needs to derive from IJSONRPCAnnouncer and not from both IAnnouncer and CJSONUtils.

The other change is splitting up CJSONUtils into CJSONUtils which provides JSON-related utility methods and CJSONRPCUtils which provides JSON-RPC-related utility methods and types, specifically JSONRPC_STATUS (which was renamed from JSON_STATUS which wasn't really a matching name), the callback/method definition for methods implementing JSON-RPC functionality, the OperationPermission enum which defines the different permissions needed by JSON-RPC methods and convenience methods to translate permissions from and to strings.

The work of seperating JSON-related stuff from JSON-RPC-related stuff is not 100% done yet but this commit contains most of that work.
fixed: remove the ifdef guard. string.h is available on all our platforms
Merge pull request #785 from Montellese/jsonrpc_refactor

jsonrpc: refactor to simplify includes
[osx/ios/atv2] sync xcode projects
changed: CFileCache should never seek to a position close than chunksize of file end

This speeds up tag reading of http by a large amount.