Merge functionality (untested)

the merge now takes in a file and two branches, and compares the latest
version of each branch to get differences. The differences are then
printed to the terminal so that the user can modify whichever file they
want and recommit.