Use a custom file reader service

This is a small refactoring introducing a custom FileReader service using a promise.

Abort calls resolve without an argument. This propably leads to an alert in the 'then' clause of the ImportKmlDirective, IMO aborting should fail silently.

Maybe reject should be called on the deferred instead and handle it appropriately in the KmlDirective.