Use Go's log package instead of using print() statement.

This change replaces the calls to print() by calls to logging utilities which then call Go's methods from the log package.

The code as it is now is pretty verbose.  This change allows the user of the library to control the verbosity of the logs.  It also sets a default log level that will be much less verbose than what we have now.

The logging utilities are supposed to be used internally so only SetLogLevel() is exported.