created wfsa package, Automaton class

corpus.py and learner.py contain the old source yet
"Cut corpus.py to size" -- it now contains only what it should.
Modified Files:
  corpus.py
misc.py added for general purpose functions such as closureAndTopSort.
Added Files:
	misc.py
Some changes.[B
Modified Files:
	automaton.py learner.py
Removed Files:
	logger.py
Made readDict() and readCorpus() a bit more user-friendly.
Modified Files:
	corpus.py learner.py
main.py added.
Added Files:
	main.py
Modified Files:
	automaton.py

- some static method calls fixed
- imports fixed
- now everything in automaton.py seems syntactically correct
Renamed two methods to follow PEP 8.
Modified Files:
 	corpus.py learner.py
Modified Files:
automaton.py
- lots of, lots of refactoring
Modified Files:
	automaton.py learner.py main.py
refactoring again
Modified Files:
misc.py
camel->pep8
Modified Files:
corpus.py
camel-->pep8
Modified Files:
automaton.py learner.py main.py
some first bugfixes, but still not working
Modified Files:
	automaton.py
- refactor bugfix, wrong method name call
Modified Files:
main.py
- logging added
- dump call fixed
Modified Files:
automaton.py
- logging.debug msgs
- bugfix in probability_of_string_in_state when empty string
  - memoizing instead of returning
Modified Files:
main.py learner.py
- start_temp and end_temp are now options with defaults
- default values are moved to option parser instead of learner constructor
Modified Files:
learner.py
- removed done TODOs
- bugfix with mixing automaton and self.automaton
now this results the same as btomaton.py
Modified Files:
automaton.py
- boost_edge takes edge as one argument instead of 2 nodes
Modified Files:
learner.py
- simulated annealing method with no knowledge about neither automaton, nor downhill.
  It just takes a change(), a change_back() , a compute_energy() and a randomize_change_options() method,
  and it can do anything, not just automaton boosting (maybe a different class?)
- change_automaton is now a very short method with Automaton.boost_edge() calling
- downhill is in choose_change_options() method, that calls randomize_change_options or keeps previous change if it was good
- self.previous_change_options keeps track of any information between two changes (e.g. edges not allowed to change, factor, anything)