Add memory_object::set_destructor_callback() method
Add core.hpp header
Improve documentation
Simplify the program::create_kernel() implementation
Limit maximum number of program_cache instances

This limits the maximum number of program_cache instances to eight
using an LRU cache. This prevents potential CL_OUT_OF_RESOURCES
errors when creating and using many different context objects.
Fix typo in mapped_view test
Use reduce() for accumulate() with min()/max()
Rename event::get_status() to event::status()
Cleanup move-semantics for all core types
Add device::get() method
Add support for specifying wait-lists in command_queue
Fix test for copy_async()
Use program_options for resize_image example