prevent an unnecessary allocation Either.leftMap

Cherry-picking fecd26d
avoid allocate new function object

Cherry-picking 83419e6
avoid new object allocate if `-\/.map`

Cherry-picking 314db86
Document unsafeTap name

Cherry-picking pull request #536 (fa5b12a)
Prevent an unnecessary allocation on Either.getOrElse

Cherry-picking pull request #559 (a75f3b6)
ignore eclipse project files

Cherry-picking pull request #566 (bd49617)