Separate spec cache directory for each Ruby version
Fix error `singleton can't be dumped (TypeError)` on dynamic analysis

Use JSON rather than Marshal to serialize dynamic analysis data.

This fixes #17.
Do not copy pseudo files (device, socket, etc.) in dynamic analysis

Related to #17.
Avoid inheriting Gem::Version in RSpecVersion

Gem::Version caches its instances with class variable @@all.

Related to #17.