Added new functions to Shell and refactored Utils

JMobileDevice is no longer dependant on Icew1nd. This is in preperation
for moving it to its own repo.