Store Custom Element support

This is a draft pull request to gather feedback and fulfill #48 

What is in here:

- A store custom element
- List code, tests and samples being modified to remove its own internal store and use this custom element
- List code not having a store instance by default (to avoid pulling in dstore dependencies if you don't need them), this means List user should always provide a store (which can be the store custom element)

What is not in there:

- delite 0.4.0-alpha support (this is still based on 0.3.0)
- documentation updates
- Select updates to be consistent with List modifications above 
I'm confused by these _emit and _on variables, don't they just point to the same thing as emit and on?