This is intended mainly to handle cases where the user forgets the second
argument when extending a class:
Class.extend( Base ) // missing second argument (definition object)
* lib/ClassBuilder.js
(exports.isClass): Move from lib/class.js.
(exports.prototype.build): Throw error if definition object is a class.
* lib/class.js (module.exports.isClass): Reference `ClassBuilder.isClass'.
* test/Class/ExtendTest.js: Add respective test case.
More generally, this was a problem with not recursing on *all* of the
visibility objects of the supertype's supertype; the public visibility
object was implicitly recursed upon through JavaScript's natural prototype
chain, so this only manifested itself with protected members.