Resolve copy-constructor cppcheck warnings

Address cppcheck reports of classes or structs without copy-constructors (cf The Big Three) which have allocated memory that needs to be manually handled. See Issue #506.

PR will be further amended before being ready for review.

So far have:
- Implemented a NONCOPYABLE() macro. A preparatory stage for properly testing subsequent changes when adding copy-constructors.
okay to test
On Aug 30, 2014 8:43 AM, "Echelon9" <notifications@github.com> wrote:

> In lib/read_parsers.hh:
>
> > @@ -261,6 +261,8 @@ struct CacheManager {
> >
> >      uint64_t const	get_fill_id( );
> >
> > +    // NONCOPYABLE(CacheManager);
>
> As the build fails when this line is uncommented, it demonstrates the
> copy-constructor for CacheManager is actually being used at present.
> Cppcheck warning was valid.
> Implementing a copy-constructor for this object will be the first priority.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/ged-lab/khmer/pull/588/files#r16928141>.
>