Partial order implementation.

This is an implementation of a partial order in Spire. I tried to stay compatible with the PartialOrdering class in Scala standard library while integrating with Spire's Order.

Thanks to Erik's comments, I'm using a Double as a return type for the comparison function: it provides the correct semantics when using the result (any comparison with NaN will return false).

The syntax for the "optional" comparison operators is with an appended star *, because the question mark ? confuses Scala's parser when using the less operator: indeed, <? starts a XML tag.

Not sure what the resolution was here, but how did we feel about using ? for the option returning types? eg. `x >? y`?