Merge changes I6c59381c,I0da088fc,I883572f5,Idc2cfe20,I1a156d10,I177abdb9,I18707bd9,I26744c74,I266f70e1,I75f10db2,I95aa2317,I2f21355b,I5d4ab07f,Ic138ad58,I012d8a42,If664e4fc

* changes:
  fastboot: add support for auto-resparsing large files
  fastboot: add fb_getvar
  fastboot: use getopt_long
  libsparse: rename symbols that conflict with libext4_utils
  libsparse: add sparse_file_len
  libsparse: add function to resparse a file and a utility to use it
  libsparse: add callback output file type
  libsparse: pseudo-subclass output_file for normal and gz files
  libsparse: add sparse_file read and convert tools to use it
  libsparse: fix windows image writing
  libsparse: merge adjacent blocks of the same type
  libsparse: add error reporting functions
  libsparse: add support for including fds
  libsparse: cleanups
  libsparse: remove static variables
  system/core: move libsparse into system/core