FLOE-195: Implement the mismatch details dialog

The related JIRA: http://issues.fluidproject.org/browse/FLOE-195

The feedback tool test plan has been updated with how to test the mismatch details dialog: http://wiki.fluidproject.org/display/fluid/Metadata+Feedback+Tool+QA+Test+Plan

One issue with the implementation in this pull request is, there are situations that two tooltips, or one dialog and one tooltip, are showing at the same time. This issue will be address in http://issues.fluidproject.org/browse/FLOE-226
The logic in this function has become tortuous and hard to understand, and should be refactored. Also, the fact that it is wrapped in a setTimeout proves that the event.preventDefault() handler is unnecessary since this is now acting after the event has finished processing. If there is no bug remaining, this effect should be removed. The setTimeout wrapper should be replaced by a general utility, for example,
fluid.invokeLater = function (callback) {
    return setTimeout(callback, 1);
    }
which is then applied separately to the function, making it more readable. The "that.closeDialog" method should be rewritten so that it is insensitive to whether the dialog exists or not. Finally, the body of the "else" branch should be refactored into a standalone function or invoker, perhaps "renderDialog"