Start building system for backup.

The approach for backing up and restoring changes in the meteor app here
is that:

- We create a repo in ~/.nucleus/.nuc-meteor-watcher/project_name
- We create a brach `nuc-meteor-watcher` in the app repo
- Whenever there is a change in the app
  - if app is not crashing
    - we make a commit to `nuc-meteor-watcher` branch
    - we push the changes to backup repo
  - if app is crashing
    - we copy all the code in backup repo back to the app repo
    - yes this is expensive, I tried making git branches merge and
      rebase so we don't need to do it this way, but the resulting
      solution was overly complicated and brittle

In this commit, we setup the backup repo and backup branch. Backup isn't
implemented yet.
Make backup branch creation more sophisticated
Renamed callbacks to stay consistent with naming-convention used in this project (camel case)
Watcher won't watch for hidden files
Done with reverting crashing app. Has bugs.

Need more sophisticated copying. Right now it copies the symlinks
recursively, which is not good.

We have done some change of plans here. We can't checkout changes to a
"backup" branch and sync it with backup repo. New plans are on these
lines:

- We copy each changed file to the backup repo
  - make a commit in the backup repo
  - when there is a app crashing change
  - at this point we can copy complete backup to the app dir

We can actually just copy the changed file which is causing the
error back to original repo, I should change code to that. Right now we
copy whole backup dir back to the original repo replacing everything
except hidden files.