Added abstract type Either, for cleaning up the overloads.
Update phantomjs API.
Use Either for function return type and prop type too.
treat Either similar to Dynamic for sorting