the final diff
The branch is now almost in line with the ics_chocolate branch.
This diff represents changes by samsung missing commits and code
leftovers due to samsung bypassing some stuff with their own.