CSV loading, new command line, removed run-time dependencies and OSGi support

Hi Alex,

I've made a few changes, including some small clean-ups. It'd be good if you could review/merge this into your own branch so we're in sync. Note: opencsv and JCommander are 3rd party libraries. I've included them as code to make compiling/packaging simpler. I might move them to external jars again at some point.

Cheers,
Steven