Add syncing status and queue
Format sync start and error message
Add clear button; Return 'Sync' as part of the name
Remove old code
Set icons for projects in sync widget
Fix binding for date widgets. Handle missing allownull on lists
Rework widget config format
Use widget as the key for widget type.

Widget layout is now:

forms:
  weeds:
    layer: weed
    label: Weed
    type: 'auto'
    widgets:
      - widget: List
        required: true
        field: CommonName
        name: 'Common Name'
     - widget: List
        field: MyField
Merge branch 'widgetconfig'
Add pre-form loading hooks
Show form loading errors in error dialog
Set defaults on feature before pre-load events
Merge branch 'events'
install easy_install and pip. Use requirements.txt for pip
Remove old unit tests
Move settings out of roam.utils
Add form test file
Set SIP API in __init__. More tests for project.Form
More tests for project.Form
Custom logic for forms can be added by subclassing
roam.featureform.FeatureForm.

	- Rework dataentry widget to handle temp widgets
	- Call pre and post form loading logic
	- Clean up API of FeatureForm
	- Add base formloading, formloaded, accept, reject methods