Use correct type signatures for FFI decls (#257)

refs #257 

When compiling a pattern binding, instead of assuming the type signature
directly before it is the associated one, Fay now looks through all the
type signatures in the module and chooses the correct one based on the
name.

Still todo: Currently calls `error` if there is more than one type
signature for a given name. How should this be handled?