Refactoring the code - First pass

1] Added helper functions for the various heuristics
2] Improved the documentation
3] Rewrote the second heuristic according to a new algo
Made the following changes

1] PEP 8 modifications
2] Changed the structure of infinitesimals similar to dsolve
3] Used dummy instead of Symbol
4] Updated sphinx docs
Added Value Errors and Not Implemeted Errors
Don't import sympy in isympy

This fixes issue 3949.
Merge pull request #2317 from asmeurer/isympy-import

Don't import sympy in isympy
Merge pull request #2286 from Manoj-Kumar-S/refactor

Refactored the heuristic code and rewrote the second heuristic