Spatially varying kernel

1. Refactoring of kernel classes (Separated Interface and basic kernels from kernel combinators)
2. Introduced spatiallyVaryingKernels

(Should be merged after #93)
@arnaudgelas Replaced all instances of std::auto_ptr with boost::scoped_ptr in separate branch (see #99)