App controller for SumaClust v1.0

This merge includes two major additions:

(1) Sumaclust class including basic parameters, and methods to perform de novo clustering 
(2) Unit tests 
what if the user provides -1? Probably better:
```python
if threads > 1:
   ...
elif threads < 1:
    raise ValueError("...")
```