satisfy both 1.0 and 1.1 specs
3.3.1: If `promise` and `x` refer to the same object, reject `promise`
with a `TypeError' as the reason.
Merge pull request #93 from stefanpenner/master

some a+ 1.1 spec fixes.