pressing enter now updates the browser window
added a neededFilters function

get a set of the filters needed for flat
reduction
set up page to choose folder for the second pass
set up structure for form submission and validation
added error class to css
Merge branch 'master' into promptImp
added page for selecting the flats to use
added dialog for individual files
implemented class for fileChooserDialog for better design

not working yet
ImProccesor now store self.frameTypes and self.objects

The frame information is now stored in frameInfo.json in
the raw folder, and if an ImProcessor is created for a folder
which already contains this file, then it loads the frame info from
it rather than recomputing it. This will vastly improve the amount of time
for future computations, since reading the headers of all the frames takes
quite a while
Merge branch 'master' into secondPass
Merge branch 'secondPass' into fileChooserClass
fileChooserDialog now behaves properly

still haven't tested callback
fileChooserDialog is now fully functional
refactored ImProcessor and reduction.py

it will make things simpler if we split up the different
passes into different modules, classes because they don't have
a lot of similarities with each other
refactored a new class for second pass
added function to apply flats
added gzip compression to server

By gzipping transmissions we should improve performance
since the network is definetely the bottleneck for our
communication
added gzip compression
added view for applying flats