Rewriting of the green cached line on the viewer. It is now much more
accurate and represents almost exactly. (Almost because they are cases
unrepresentable, like multiple images cached at the same "time" but
with different mipmap levels) .
The darker green line represents a frame that is cached on the disk.
Also when the user zooms the viewer, green line will be disabled so
he/she doesn't expect something to be cached.
Always remove the file when clearing disk cache
Cache: fields in a struct don’t need to be prefixed with _ or m_
Cache: use standard size_t type instead of U64/qint64, fix warnings
Cache: any class with virt. funcs must have virt. destructor
Merge branch 'workshop' of https://github.com/MrKepzie/Natron into workshop

Conflicts:
	Engine/Cache.h
Knob: fix possible bugs from static analysis
RotoContext: fix possible bugs from static analysis
ViewerInstance: fix possible bugs from static analysis
MultiInstancePanel: fix possible bugs from static analysis
TableModelView: fix possible bugs from static analysis
Relax assert
Merge branch 'workshop' of https://github.com/MrKepzie/Natron into workshop

Conflicts:
	Global/GitVersion.h
Fix warnings (remove dead stores)
Don't set keyframes if the user didn't ask for it
Prevent cache size dropping below 0. Trying to figure out in which case
it can happen
Clear stored references before cleaning cache
Always keep a copy of the input images used while rendering so they
don't get accidentally deleted by the cache
Wrap most translatable strings with tr().