Add and use a DISALLOW_COPY_AND_ASSIGN macro.

Macro taken from the Google C++ style guide. Used on interfaces and classes
with pointers or other copiable single-owner resources (such as file
descriptors).
Move the CTLogManager class into its own file.

Some minor refactorings done at the same time, like using boost::scoped_ptr,
and making it non-copyable.