Update server/src/main/java/com/orientechnologies/orient/server/journal/ODatabaseJournal.java

Rollback code change, fix did not solve the issue completely.
Update server/src/main/java/com/orientechnologies/orient/server/task/OAbstractRecordDistributedTask.java

NPE protection
Update server/src/main/java/com/orientechnologies/orient/server/journal/ODatabaseJournal.java

Add 3 new function 
getLongestUncommiteJournal : go thru <num>(hard code 100) previous journals, find the longest journal which status == false, if journal contains operation == false, that means when server shutdown, at this moment, journal have been created and remote record have been created but the record for local have not been submitted yet, need sync up with remote in alignment.
needOverWrited : check if need overwrite local journal file with remote record
getOverWriteStart : overwrite local journal file
Update distributed/src/main/java/com/orientechnologies/orient/server/hazelcast/OHazelcastPlugin.java

User new API to check lastOperationId. If journal contains operation status == false, go to the previous journal.
Merge pull request #1324 from henryzhao81/master

Rollback fix