some necessary __init__ing
adds shell for running homework
adds memoize() wrapper
moves out some model code to its own thing!
adds IV as alias for Independent Variable
defines kursawe model