Sync with Ion 2.4 & 2.5 Android Ion

Refactored the code to support both pre-2.5 and 2.5 Android Ion. 

Implements http://teampulse.telerik.com/view#item/271692
Shouldn't `/` be constant. We use it many times. Or may be it should be better to have some abstraction like `buildDevicePath(...args)`