Added the IsEmpty property to the IOption that returns true if the Option has no value. Renamed all occurences of T to TValue to better indicate the purpose.