Fix indentation, add proper error handling, handle NULL values in the CSV output.

I've made a few changes:
 - I ran the code against pylint, and fixed the indentation issues, along with some trailing whitespace and removed one unneeded import.
 - Added a more robust exception handling for the main loop. The program was just reporting a simple 'oops, something happened' which isn't specific, this should narrow things down.
 - Modified the CSV importer to handle NULL values in the data.

I've verified the CSV output is expected, and it works fine. However, the JSON and GeoJSON outputs don't validate. I tested the original release, and it similarly produces JSON that JSONLint doesn't like, and GeoJSON that OGR doesn't understand, so I'm punting on this issue for this pull.