[1/2]Hardware Keys: Initial import of remapping functions from CM - THANKS CM

Summary: WIP - initial import. mostly functional at this point. I have removed some things CM uses that we at this point do not like vol/home wake. MENU overflow is duplicated with this and needs correcting as we already had a feature for that. Overlay will be needed in device tree to correctly show what hardware keys a device has.

Test Plan: complete, test and WIN!

Reviewers: synergy, jriordan001

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D485