Fixed #8 : Added the documentation for mips_cpu_get_pc (oversight on my part).

I didn't add constraints on the pointer validity, as they are covered
under a more common sense argument. There is no reasonable interpretation
for passing a null or invalid pointer for pc, as it cannot give the
caller any more information than they already have.
Fixed #7: Documented state parameter as non-empty

Note that I would not really consider this as a backwards
compatibility problem, as there is a documented way of
returning error codes, and an error code exists for this
situation. One would expect any reasonable implementation
to check for non-null as a sanity check, as it so cheap.

The exception would be if it was documented as a performance
critical method (which it is, but we don't care about
performance), where you would probably either put a blanket
warning "No pre-conditions will be checked" for the module,
or ideally on just the performance critical functions.
Fixed #10: The documentation had an awkward blend of pseudo-code and real code,
which never helps. Changed to be real code.

(Deliberately kept the error checking though).