Wrapper for python-bioformats

Required are:
Python-bioformats: https://github.com/CellProfiler/python-bioformats
Python-javabridge: https://github.com/CellProfiler/python-javabridge
Add bioformats reader to api.py
Minor changes
Load metadata at get_frame instead of initialize

This saves a lot of initial loading time, only loads metadata of
required frames. Also stores last frame (may be useful to arrange this
at frame.py level?)

Added omexml metadata importer, this is demanding for large files and
may require a higher java heap space.

Added direct use of the java-wrapped MetadataRetrieve routines
(mdstr/mdint/mdfloat). The latter are much faster but more information
is obtained with omexml. The java command including parameters are
passed as string. See this link for the full list of options:

http://downloads.openmicroscopy.org/bio-formats/5.0.5/api/loci/formats/meta/MetadataRetrieve.html
Corrected len() and __version__ error

When dimension=3, len should return sizeT. Renamed self._len with
self._planes to avoid confusion.

When pims.version is not there, does not raise an error anymore.
Better ordering in all the modes

So I rearraged the different modes. I did not make different classes as
@tacaswell advised, mainly because I don't know exactly how. I
introduced the variable 'mode' that can have several options, selecting
the get_frame routine to use. In addition only the __len__, sizes and
pixelsizes properties have different functionalities per mode.

My nd2 files are often misinterpreted by bioformats; 2 modes cover those
errors. However this should be solved on the bioformats side. I am
trying to make a ticket for this error at the OME fora.
Display 3D image

From http://codepen.io/will-moore/pen/Beuyc 
May be expanded with side views and zoom lense.

Point savepath (line 83) to iPython notebooks folder and it should work.