ENH: Custom data support

@agramfort @dengemann feel free to take a look. I tried to make it as minimalistic as possible while still being usable. I think additional features will need to be driven by actual use cases instead of the contrived example I used in the tests. But this should at least get us discussing the API.

Closes #1229.
Related to #1206.

FYI the minor changes to `bti` were just to make it consistent with the other `fiff/*` sub-modules.