The bind and function functor constructors and assignment operators were overly general and getting confused with the copy constructor and copy assignment operators.  Constrained them.  This fixes http://llvm.org/bugs/show_bug.cgi?id=16385

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185297 91177308-0d34-0410-b5e6-96231b3b80d8
In istream::ignore, check the delimeter as an int_type, not as a char_type, so as to correctly handle EOF.  This fixes http://llvm.org/bugs/show_bug.cgi?id=16427

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185298 91177308-0d34-0410-b5e6-96231b3b80d8