update boost to include chrono library.
build our own zlib

the version on ubuntu 10.04 dies when opening empty files
new cmake function: find_library_providing

this can be used to search a list of libraries to find a function

we need to do this for clock_gettime (needs -lrt on some linux versions)
search for clock_gettime at CMake time; build zlib
remove trailing , in enum
gcc-4.4's std::ref can't accept rvalues, use bind instead