_viterbi() function had incorrect updating of backtrace pointer. fixed.

Update to _clustering() function as the best_path obtained from
viterbi() algorithm may contain null/silent states. Possibly consider
removing the _clustering() function and rather use random init.

Log transform has been implemented in the viterbi algorithm. The viterbi
algorithm is used in place of the ap_viterbi algorithm.  
The DEF.big_negative and DEF.big_positive const values have been
updated. 

(1) Test different input representations
	--> msa profile (created)
	--> hydrophobic moment profile (created)
	--> msa + hyydrophobic moment profiles (created)
	--> pca of msa profile (need to create)
	--> single seq + msa profile (created)

(2) PSICOV --> contact map estimation
	--> look for significant local correlation as most people only search
		for non-local correlation for beta-strands
	--> data stored on server at /gluster/data/tmb_maps.tgz
	
(3) Non-negative matrix factorisation or Principle Component Analysis
	for input encoding dimension reduction

(4) Different grammars, mixtures, and window sizes
	--> tied at mixture level not state level
	--> different mixture numbers (1,3,and 4)
	--> window sizes (7,15,19,21,31)