add fetch/merge to update current local session with data previously saved on server
Merge branch 'master' into fetch_and_merge
remove duplicated code (useless clone of git repo in git session kit
git session management has been fully rewritten. Now only the user branch is checked out from the remote repository
Merge branch 'master' of github.com:oster/JLM into fetch_and_merge
Refactor GitSpy to delegate all Git related instructions to GitUtils
Generate new user's git before loading his session...
Fix createBranchFromRemoteBranch issue
Set merge strategy and handle offline working session

Fix ```GitUtils.fetchBranchFromRemoteBranch``` and ```GitUtils.pullExistingBranch```
to handle correctly raised exceptions if the user is offline.
Also set the merge strategy to ```THEIRS``` for the moment.
Keep the most recent version of files in case of conflict
Add pull command before pushing local changes
Improve the push mecanism

Only push the user's branch and only pull if a push failed
Merge branch 'master' into fetch_and_merge
Add entry to the ChangeLog
Merge pull request #390 from oster/fetch_and_merge

Fetch and merge. This greatly improves the state of the code wrt to git interactions.

Some bugs may remain, but that's already much (much) better.