make valgrind-clean

* Field::impl was in a half-way state: allocated by new as a
  shared_ptr, but freed by psfex.  Converted it to a raw pointer
  managed through psfex.
* Removed Psf::_owner as it was unused.
* Set Field::wcs->wcsscalepos.
Merge pull request #2 from PaulPrice/issues/2

Test is not valgrind-clean
PsfexPsfDeterminer: ensure samples are completely configured

By instantiating and then not configuring samples (e.g., when
psfCandidate.getMaskedImage() threw an exception), the sample
remained active with nonsense values, picked up by valgrind,
and sometimes resulting in a PSF composed of NANs.

Made sample creation atomic; samples are effectively inserted
into the list when calling "finiSample".  Also enclosed sample
setup in a try/except/else block, to ensure we only finalise
on a sample that is suitably constructed.
Merge pull request #3 from PaulPrice/issues/3

PsfexPsfDeterminer: ensure samples are completely configured
PsfexPsfDeterminer: ignore sources with negative fluxes
PsfexPsfDeterminer: be more careful about source fluxes

A NAN source flux kills PSFEx (resultant PSF is composed entirely
of NANs), so catch that case, and any case where the flux
measurement is suspect.

Also catch the case that all samples were rejected and produce an
intelligible exception.