Merged set.js with dataTypes.js. Completed isEqual

The set dataType is now in it's proper place...dataType.js

Created a very general, beautiful isEqual function that
will test equality between any two javascript values!! I
created a new file to hold this as it is more abstract
then Object,Array,... . The more abstract functions will
appear in carmichael.js under the namespace Carmichael.

Array.isEqual was built alongside the general isEqual. I
define a strict equality of arrays by:
a = b iff (for all integers n<a.length, a[n] = b[n] and
a.length = b.length)

Array.isWeakEqual is a weaker equality:
a = b iff (for every n, there exists an m such that a[n] =
b[m] and a.length = b.length)

Array.prototype.contains was created to create
isWeakEqual. Give it any value and it returns a boolean if
it's in the array or outside of it.

Object.isEqual was added to create general isEqual.

class.js was updated to use the new isEqual function.

In the future, I would like to give classes a type and
incorperate that into the general isEqual function.
Moved stuff around

Moved a bunch of functions from object.js to carmichael.js
because I thought they were to general to belong to the
object class.

Renamed Carmichael namespace to $C. Nice!

Modified class.js to reflect changes.

Changed names of a bunch of functions.

removed toArray from Enumeration as I felt it didnt
belong.
Added comments, remove to Array.prototype.

Added a nice function that properly removes elements from
an array. Simpler then splice. Rewrote a bunch of stuff to
use this new function.

For the rest, tested and added comments