script: generate/archive versioned copy of public/

Support creating and deploying archive copies of earlier versions of the Lab framework.

Create an archive of the public dir in: ./archived/<short-SHA>/public

  $ script/create-archived-public-dir.sh

Create an archive of the public dir in: ./archived/v0.5.1/public

  $ script/create-archived-public-dir.sh v0.5.1

Create symbolic links in the public dir for each archived copy of public:

  $ create-symbolic-links-to-archives.rb
cap: deploy:archive_public_dir

Create archive dir of public under ./archives/<short-sha>/public
and create symbolic link to it at: ./public/<short-sha>
cap: deploy:create_symbolic_links_to_archives

Also allow direct access to this task.
Remove accidentally added CoffeeScript test compiled to JS
Cleanup, polish and update comments in DNA-related code
Update genetic engine tests (+ add new for mutations)
Move genetic animation states definitions to a separate module
flip plus minus buttons in pressure equilibrium

[#49553619]
Fix for transcribe before dan state with specific nucleotide request
reapplying layout tweaks to pressure equilibrium

[#49553619]
return clientRect of root SVG for model container

[#51739447], [#51675781]
return rect object with dimensions of model div

[#51739447], [#51675781]

modelView: api.pos() function now constructs an object with
the same six attributes that are in an SVG clientRect,
however these are based on the properties of the div in
which the SVG is placed.
increase "medium" height to 480 for DNA Interactive

[#51675781]