DriveGraph:
(1) Add preliminary implementation of expo backoff. But there's gotta be a better way of designing this so that I don't need to implement the same expo backoff code several times.
(2) Change the corresponding section in order to cope with the changes made to DriveNode.

DriveNode: Now DriveNode becomes an interface which Node and RootNode implement.
Node: This is the old DriveNode class with some object attributes removed (those managed by rootNode, such as the service variable).

RootNode: extends the new DriveNode class and add a method to get service.

Others: update copyright statement.
Merge branch 'eric/dev/FileManager/basicSync' into eric/dev/testSuite

Conflicts:
	src/com/hencriceLinuxGDrive/LaunchApp.java
	src/com/hencriceLinuxGDrive/auth/LinuxUser.java
	src/com/hencriceLinuxGDrive/driveGraph/DriveGraph.java
	src/com/hencriceLinuxGDrive/driveGraph/DriveNode.java
	src/com/hencriceLinuxGDrive/manager/ConfigManager.java
	src/com/hencriceLinuxGDrive/manager/FileManager.java
	src/com/hencriceLinuxGDrive/persistance/ShutDown.java