converting print to python3 style

* keeps compatibility to python2(>=2.6) by
  importing future print_function
binding func raw_input to input as fallback
using sorted dict for predictable syscall order

* this fixes a bug in test.py if platforms.items()
  returns a different order [1]

[1]: http://docs.python.org/2/library/stdtypes.html#dict.items
fixing test_conversion by stripping newline chars
using explicit type casting required for python3

* using the str wrapper cstr and bytes wrapper cbytes
  is required to support both, python 2+3
using python3 style print in test.py

* this make the test.py now runnable for both, python 2+3
adding default encoding 'utf-8' to cstr and cbytes calls
fixing missing unlink of tmp files
fixing shellstorm option for python3

* this adds urlread(url) as wrapper around urllib
  to keep it compatible for python 2+3
using binascii.unhexlify to decode file and vm patch args

* binascii.unhexlify is compatbile for both, python 2+3
  http://docs.python.org/3/library/binascii.html
handle shellstorm shellcode fetching errors

* using urllib2 for python2 that raises HTTPError on
  failed urlopen()
  http://docs.python.org/2/library/urllib2.html
* using split urllib python3 package, that also raises
  HTTPError from its error submodule
  http://docs.python.org/3/library/urllib.html
only print --fork-nopper objdump if verbose >= 1
using explicit bytes data in --fork-nopper for python3

* file.write() in do_exe_patch() expects buffer interface
  in python3: http://docs.python.org/3/tutorial/inputoutput.html
cleaning up the README
updated the README