fixed a crash on macro expansion

omit macro expansion for now
update the range of the LLVM versions that work with C-Reduce
skip looking through LinkageSpecDecl
fixed a crash on CXXOperatorName

return NULL if a CXXDependentScopeMemberExpr's member
is an operator
renaming functions

no functional changes
added support to bin-search unused functions

* Previously, I misinterpreted isReferenced flags
for templates. Fixed most of those. There are
still some cases where I couldn't figure out
how to resolve. For example,

template<typename T> struct S;
template<typename T> void foo(S<T>);
template<> void foo(S<char>);
template void foo(S<char>);

Seems there is no easy way to retrive the source
location for the template instantiation at
line 4. Internally, this instantiation
is represented as a canonical declaration
of the explicit specialization at line 3,
and thus its source location gets lost.
Note that in this case we couldn't get the instantiation
point as we did for explicit instantiations.

* added support to bin-search unused functions.
Fixed a problem of implicit instantiation

keep an implicit instantiation into the specialization set
and remove it with its primary template
handle dependent function template specializations

associate a dependent function template specialization
with the first function template that this may be a
specialization of.
one more fix to dependent function template specialization
move a common util function to creduce_utils
enable binary removal of unused functions
change the chunk granularity to 10

seems 10 is slightly better than 30 based on my benchmarking
Merge branch 'master' of github.com:csmith-project/creduce
Merge remote-tracking branch 'origin/master' into llvm-svn-compatible