lp_load and lp_dump uses Python's bz2

Changed the default behavior of lp_load and lp_dump to write to compressed file objects.  Also changed the lp_load and lp_dump function arguments - now they take a file name instead of a file object.  I didn't want to change the API at first, but having `bz2.BZ2File` inside the function made things a lot more convenient.

This allows us to delete some system calls to bunzip2 and bzip2.  Also saves a lot of disk space with storing and transmitting `forcebalance.p`, `objective.p` and so on.

The bz2 module is not automatically included in some Python distributions - sometimes I run into this when compiling Python on systems that don't have `libbz2-dev` installed.  Since it may be inconvenient to manually build `libbz2-dev` followed by rebuilding Python, the code still works if Python cannot `import bz2`.  It will not be efficient with storing files and print a warning on the command line.