[git] Write the exception to the log

Otherwise only the exception message is shown in the UI
without stack trace.
[vcs] "Add to VCS" action: minor refactoring

Let getUnversionedFiles return not-null list, just empty in case if
there are no unversioned files.
[dvcs tests] Create file by relative path
[git] For tests print commands which are executed into System.out
[vcs] Fix Add to VCS for Git

* Remove GitAdd action since it duplicates the functionality of
  ScheduleForAdditionAction & CheckinEnvironment#scheduleForAddition.
* Let ScheduleForAdditionAction be enabled if user selects a directory,
  and the VCS doesn't support directory versioning. That would let to
  add all files in a directory recursively for Git and similar VCSs.
* Since directories may now be presented in the data passed from
  ScheduleForAdditionAction to the ChangeListManager,
  don't add everything that is found there: check for unversioned
  files.
* Add a test on 'git add'.

This fixes IDEA-104070 & IDEA-76670, because all files are now
handled individually, and hidden or ignored files simply don't count.
This also fixes IDEA-98689, because the common action is used now,
and its shortcut can be reassigned.