Confirm close

Adds the ability to specify a ```preCloseCallback``` either as a function inline in the options or by specifying a string with the name of the function that lives on the scope.  From within the ```preCloseCallback``` function you can return ```false``` to prevent the dialog from completing the close; this can act as a sort of fail-safe for things like editing...if the user edits some data within the dialog and accidentally hits 'escape' you can determine if the dialog's data has not been saved/is 'dirty' and if so ask the user to confirm that they do indeed want to proceed to close the dialog.

The /examples/index.html files has been updated to include a few examples of how it can be used.
@curts then could you please update `README.md` with brief explanation of the options you've added. The end of ** `open()` options** block is a best place for this - https://github.com/likeastore/ngDialog#options. Please add code examples as well.

With this update I'll merge your feature and build new major version ;)