[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.
changed: further reduce libapetags incessent hammering of seek functions

All users of these functions will seek to a location before
reading any data, so these seekbacks only cause overhead
in the filesystem
Merge pull request #736 from dez-dk/master

Add dates to files and directories listed from an HTTP source
changed: Enhance logic to determine the filesizes for http directories
add boost/uuid/sha1.hpp to our libs

This makes sure sha1.hpp (used by websocket implementation) is also available on systems with a libboost-dev from earlier than version 1.42 (e.g. Ubuntu Lucid).
cec: added volume control on a CEC enabled amplifier when one is found
cec: set the HDMI port and the device to which the CEC adapter was connected, to be able to determine the correct physical address. this is needed for people who have connected XBMC to something else than the TV
cec: also mark XBMC as active source when powering up devices
cec: some TVs don't like us querying it while activating sources. moved the queries to a background thread, and only query after the TV reports power state active.