Fixed error handling in P4Ruby.
The error message string did not get properly set in the exception and P4Message
object. This is because theP4API Error class does not have a proper copy
constructor. Since it has a decent assignment operator, I gave P4Error an Error
field and removed the superclass, which solved the problem and also made the
code more readable.
I also moved the Reset of the Result object in P4ClientAPI before the connection
check, so that 'not connected' can be shown in the exception instead of the
previous exception in case the connection is lost.