initial conversion of some files to conservative registration
Changed list stroage temp value registration.

Previously, temporary values registered during a recursion were added to a
std::list as VALUE and not VALUE*.  While this would keep the GC from
collecting them, this could cause problems because the address registered was
on the stack and might go out of scope.  Changed to store and register
VALUE*s to avoid this.
fix: Detect g++ version correctly
fix: Recognize gcc version number by reading predefined macros
Reshape: fixes #167
Fixes #165 and adds spec for clapack_gesv
Update clapack_gesv spec to work with rationals also.
Merge pull request #166 from sheerun/fix/captures

Undefined method 'captures' during installation, fixes #151
io_spec doesn't leave "test-out" file behind

A temporary directory is being created before each spec, avoiding
clutter in the repository.

Obviously, both the file (if it was created during the spec) and the
directory are deleted after each spec.
Cleaned up whitespace a bit
List transpose and all stype n-dimensional transpose.
Fixes #5. Fixes #162.
Removed GC protection from left and right in nm_list_storage_set
NMatrix#concat. Does not quite address #135, as lacks a spec, and still
waiting on folks in the Google Group to weigh in on default behavior.
Merge branch 'master' into conservative_gc
additional conservative registration markings in dense

Also removed unneeded registrations from set.
Conservative registration for yale storage

Also removed some unnecessary registrations.
Merge branch 'list_regression' into conservative_gc

Conflicts:
	ext/nmatrix/storage/list/list.cpp
	ext/nmatrix/storage/list/list.h
Conservative registration in data.cpp
Change internal list storage temp object unregistration functions to static
Conservative registration for list storage

Also removed some unnecessary registrations.