Surprisingly, first working version of a callable progress monitor.
Correctly release memory for a single shutdown function.
Corrected function names to module standard. Free callback structures recursively.
Added check for not null, made error be an exception. Made error message be clearer.
Removed unused var.
Merge pull request #28 from Danack/progressCallback

Progress monitor with user callback