Add MongoDatabase::query() method

This adds a new method to the MongoDatabase class which queries
the current database and returns a DBClientCursor with the results.

This also updates the charting plugins to use the new API instead
of directly connecting and querying the database themselves.

Change-Id: I1bb20e314d65d7ea50ec1c16f38157dc25080c12
Add progress dialog for scatter plot

This adds a progress dialog to the scatter plot chart. Now, when
loading data an interactive dialog is displayed which shows the
number of loaded molecules as they are transfered from the mongo
database. Also has a cancel button which allows the user to stop
the query.

This is a first pass at making the charts more interactive. If the
approach is sound the progress dialog can be ported to the rest of
the charts (e.g. parallel coordinates, histogram, etc).

Change-Id: I682c12660b3e1729faf51de8de36eb4de14d0dbb