Set dlopen filename to null if libname is false

Fixes #99
Use fdopen to accommodate OS specific I/O streams

- STDIN_FILENO  = 0
- STDOUT_FILENO = 1
- STDERR_FILENO = 2

Fixes #101
Use darwin-specific dirent struct for OS X

Fixes #102
Log page fault measurements on linux only
Merge pull request #105 from paulfryzel/osx-tests

OS X test fixes
- Minor stylistic change
    	- tweak makefile to detect BSD
    	- add BSD-specific decs to lib/dir
    	- allow re-defing types in lib/ffi
    	- update readme
	- fix makefile
	- fix makefile
Update README.md
Update makefile
	- clean up makefile
	- clean up makefile
Merge pull request #106 from teebrz/master

FreeBSD Compat
	- fix improper handling of fun.apply(null,...)
	- add regression test for fun.apply(null,...)
Merge pull request #108 from teebrz/dev-tom

fix improper handling of fun.apply(null,...)
- Fixed parser bug wrt ternary operator affecting string-validate input
- Added tests for ternary operator parsing
- Added string-validate-input benchmark to `make test`