added Field and FieldElement interfaces to allow algorithms operate on any type of field. This change is related to the discussion on dev list http://markmail.org/message/h2rmq6wo7nwqzx4w