Refactoring:
    - Moving BayesianModel, MarkovModel and NoisyOrModel to new module models
    - Changing the tests accordingly
Refactoring:
    - Changing Exceptions module to exceptions module
Refactoring:
    - Changed Factor module to factors
    - Removed _factor_product.pyx
Refactoring:
    - Changed Independencies module name to independencies
Refactoring:
    - Removed MarkovModel module
Refactoring:
    - Modified tests of Factor and Independencies according to the previous
      changes made
Refactoring:
    - Moved DirectedGraph, UndirectedGraph, JunctionTree classes to base module
    - Changed the tests for these classes accordingly
Changed __init__.py for correctly importing modules
Removed and cleaned Cython dependencies from setup.py
Merge branch 'dev' of https://github.com/pgmpy/pgmpy into abinashpanda-dev

Conflicts:
	pgmpy/factors/CPD.py
Merge branch 'abinashpanda-dev' into dev