FLUME-1761: FileChannel can NPE when log metadata file is empty
Review Request #8414 - Created Dec. 7, 2012 and updated
1) Adds better error messages if for any reason Commit,Take,Put,Rollback encountered an null pointer. Shouldn't happen. 2) Fast replay handles the case where we have an empty log or metadata file. 3) LogFileFactory throws an informative error message when the meta file is empty but the log not. 4) LogFileFactory throws an EOF when log file and meta are empty sot he log can be ignored during replay.
Added tests which test 2, 3, 4. The behavior is the same for 1 we just have a better error message.