Field Type list in module creation
For field definitions, I find that the easiest thing to do, is to create the field in the UI and fetch the definition using field_info_field and field_info_instance and then dump the variable using the devel module (dpm) oe something similar.

Alternatively you could browse code, field types are defined in hook_field_info and widgets are defined in hook_field_widget_info (the form for the field) and formatters are defined in hook_field_formatter_info (how fields are rendered).