ipsw: fix version data parsing
ipsw: remove obsolete major version increase in ipsw_get_latest_fw
ipsw: also check product type in ipsw_get_latest_fw to get largest major version
Require libirecovery >= 0.2.0 and port code to it's new API
custom fw: fall back to User ram disk if Update ramdisk is not found

This is a fix for AppleTV firmwares since they don't have an Update
ram disk but only a User ram disk. When restoring a custom firmware
idevicerestore fails if -e parameter is not given. This fix will
automatically set erase mode enabled if no update ram disk is found.
asr: supress compiler warnings with proper cast
common: supress more compiler warnings
silence implicit declaration compiler warnings
use dynamically allocated buffer when reading cached SHSH files
img3: make buffers and sizes unsigned
tss: make sure buffers are of type unsigned char*
dfu: make sure buffers are of type unsigned char*
ipsw: change buffers to use type unsigned char*
AppleTV: set auto-boot to true again after restore

Apparently AppleTV units don't boot up in normal mode after restore
but switch into recovery mode so we set auto-boot to true to make
them boot up in normal mode.
Added .gitignore.
Initial Xcode project.
Added plist.[ch] files and configured target to build.
Fixed pass-by-reference inconsistency in asr_send().
Updated Xcode project’s source files after upstream merge.
Commented out call to userpref_remove_device_record pending update to libimobiledevice.