Apply rambuffer patch (pr1388)
PR 831 Inclusions (credit goes to bobo1on1):

- Use Free Ram Percentage as Buffer Size
- Adjust Read Rate Based On Max Bitrate

Enhancements to PR 831:

- move variables over to advanced settings under <network> section ("alwaysforcebuffer" default false and "freememorycachepercent" default 50% max 80% with hard limit of 1GB and 0 value will force filecache. It also removes "cachemembuffersize" variable as it is no longer needed)

- Memory buffer is straight percentage of free ram (i.e. if 50% free ram is used ~75% of the 50% will be forward looking buffer and ~25% of the 50% will be back buffer)

- Rate limiting which fixes SMB issues with PR 831 as far as I can tell (1.25 times max bitrate up to 40 MB/s in which case it is throttled to max bitrate)

- ios and linux fixes

Advanced Settings Notes: This PR adds a new setting under advanced settings and removes the "cachemembuffersize" setting as it is no longer needed. The added setting is as follows:

- "freememorycachepercent": The amount of free memory to use as buffer size.  Please note that of the percentage of free memory used ~75% will be used for forward buffering and ~25% will be used for the back buffer.  The default is 50% which is a good default for memory limted devices such as the atv2.  The max is 80 percent and there is a hard limit of 1GB buffer size irregardless of free ram.  Setting it to 0 will force filecaching (same as the way cachemembuffersize was used)

Conflicts:
	xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamFile.cpp
	xbmc/cores/dvdplayer/DVDPlayer.cpp
	xbmc/cores/dvdplayer/DVDPlayer.h
	xbmc/filesystem/FileCache.cpp
	xbmc/settings/AdvancedSettings.cpp
	xbmc/settings/AdvancedSettings.h