Use a diff function to only return the files that changes
Trim the extra newline at the beginning of teaser.

This new line character caused extra space every time an update was
performed.

Also ensure the `Utils.diff_files/2` takes care of the case where there
is `filename` attribute and it is equal of the old file name.
Close #38, only send update request when need.
Prevent javascript errors from Sir Trevor