Slower animation when scrolling, for a smoother experience.
Lazy-loaded images appear more slowly, for a smoother experience.
WIP: perform entry open/close animations with javascript.

Unfortunately each entry has a different height, and CSS transitions do not support transitioning height to or from height: auto. The only way I see to animate opening entries with different heights is via javascript.
When opening an entry, close any other open entries.

This is a WIP and currently breaks "open all entries" mode.
Moved the code that closes an entry to a private js function, so that it can be reused.

When the user manually closes an entry, the function is invoked. It is also invoked when opening an entry, to close any other entries currently open (unless the user has selected the "open all entries by default" config option).
Corrected comment to accurately describe js method. Remove URL fragment manipulation when resetting entries, this is no longer necessary.
Added validation that the passed array contains entries, when setting all new entries as open.
If the user has selected the "open all entries by default" config option, entries are open (height: auto) as soon as they are open.

This had been broken by recent changes (switching from CSS transitions to JS animations when opening and closing entries).
After the entry opening animation has finished, set its height to 'auto'.

This way, if images in the entry are lazy-loaded after the animation has finished, the entry height will automatically grow to adapt to the newly loaded entry.

Previous to this entry height was fixed, which meant that if images finished loading after the animation finished, not all content would fit in the allocated viewport space.
The 'entry_open' CSS class identifies whether an entry is currently open or not.

This class is inially added to all entries if the user has selected the "open all entries by default" config option.

Otherwise it is added when an entry is opened, and removed when the entry is closed (because the user clicked to close it, or because he opened another entry which triggered an automatic closing of all other open entries).
Acceptance tests detect if an entry is open or closed based on the "entry_open" CSS class introduced in d04637a2bba64f8f8ce6e1334ea6e2494ce90923
Correct test description.