Miss finding in BinaryClassifier.__init__

This addresses two issues in the current version of BinaryClassifier. Consider this setup:

    >>> from binaryclassifier import BinaryClassifier
    >>> X = [[1], [2], [3]]
    >>> Y1 = [True, True, True]
    >>> Y2 = [True, False, True]


1. If the response truly is invariant, self.miss is never defined, so checking it in the conditional will crash:  

    >>> BinaryClassifier(X, Y1, True)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "binaryclassifier.py", line 46, in __init__
        if not self.miss:
    AttributeError: 'BinaryClassifier' object has no attribute 'miss


2. If the miss value evaluates as False in a boolean context, it is if there is no miss value:
    >>> BinaryClassifier(X, Y2, True)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "binaryclassifier.py", line 47, in __init__
        raise ValueError('Outcomes are invariant')
    ValueError: Outcomes are invariant