[imp #23] fix last modification date interface

The server was returning the lastest modification date for all its associated
document.
However, if there was no document opened, this lead to an invalid call to method
List.last().

Now, the last modification date is also stored in the actor itself (we still
keep per document date, as they might be useful), and updated accordingly.
[fix #23] Compile paper only if modified

When compiling a paper, we first check its last modification date set by the
synchronization server. If the document was not modified, there is no need to
re-compile it.

Closes #23
Merge pull request #41 from chemicalstorm/wip-compile-needed

Compile only when document has been modified