travis: setup travis build

Currently this just builds the library. It does not run tests, as none
exist.
Added .mli files for charset and hashset

- Made hashset an opaque type requiring some changes to code that used the fact
  that it is implemented as a hash table
- Added function to copy the epsilon transition table that doesn't depend on the
  underlying hashset implementation
- Updated code that copies the epsilon table to use the above function
Added .mli for Nfa
Merge pull request #3 from frenetic-lang/travis

setup travis build
interface: Remove redundant declarations in mli files
interface: export all values from modules

To ensure reverse-compatibility of the API, export all values from
modules that now have interface files.
Merge pull request #1 from frenetic-lang/interface

Provide .mli files for Nfa, hashset and charset