Refactor anomaly core to accept new implementation that does not use anomaly_storage.

Previous anomaly is tightly coupled with anomaly_storage, which restricts the choice of diff type.
This change enables us to add another implementation with different MIX interface.
Add light_lof: lof implementation using nearest_neighbor.

This change also includes modification of anomaly architecture.
Now each anomaly algorithm handles mixables instead of driver, in order to support different types of mixables used by different algorithms.

NOTE: The change on handling mixables causes cyclic dependency on linking, because mixable_versioned_table, on which anomaly is now depending, is included in driver.
As a workaround, this change separates mixable_versioned_table from driver to independent shared object, and driver and anomaly refer to it respectively.
We should resolve this problem before merging it to develop.