bugfix: much larger zone-length than shmem_totalsize mislead planner.

bug #85: host unified memory device usually has much larger zone-length
than actual memory capacity, and it mislead planner portion.
pgstrom_shmem_maxalloc() has to inform correct capacity, and
pgstrom_shmem_alloc() also has to return NULL immediately if required
length is unavailable obviously.
bugfix: incorrect object was released when optimal device search.

bug #83, when 2nd or later device has greater computing capability,
it switches the current focused device properties to the latest one.
But it released the selected platform-info, not poor one!
Merge branch 'master' of github.com:kaigai/pg_strom