Doctests and clustering methods

Added a couple of doctests to the simpler functions in preprocessing.py
Added DBSCAN and KMeans clustering to cluster.py

Unsure how to add a test to something non-deterministic like DBSCAN -- maybe apply clustering to the iris dataset with a fixed random-state?
Is this 0 for non-core samples, cluster_id for the core sample for a cluster? Or some different encoding? Please explain it in the docstring.