More compression incorporation

* Add the ability to read a .gz compressed file in LoadBuffer
* Change how SaveBuffer works so it returns the filename that was
  actually written to (which will have added .gz if compression
  is enabled).