reshape the GF.py, and move polynomial related functions to poly.py
with some other minor changes (and unit tests)