Build with go1.4 on Travis
Move crypto funcs to a separate file
Use interface for crypto helpers, not a func var
Similarly, use interface for language detector