Add LICENSE and use erlang.mk to build
Restructured for readability and removal of magic constants

The entire source file except for test code was rewritten to:

  1) Add semantic macros for magic integer constants
  2) Avoid repeating the internal binary definitions (DRY)
  3) Use << ?MACROS >> to make binary structures readable
  4) Consistently use /unsigned for pointers and sizes
  5) Test all terminal cases in recursive functions last
  6) Add log functions for reporting binary dictionaries
  7) Add versioning for the internal binary format
Avoid constructing unneeded sub-binaries in find and find_geq
Avoid creating Value sub-binary until we match Key
Uncomment -ifdef(TEST) lines
Ensure all returns from find_geq_node are {ok, Key, Value}
Change log_detail/1 to log_summary/2 to display key property values
Adjust dialyzer spec for log_full/1
Add initial common_test and PropEr testing

The speed test was moved from the vbisect.erl file to the common_test
vbisect_SUITE file. Cover analysis and testing are provided with HTML
reports for browsing the results.

Add is_vbisect/1,2 for testing opaque data values, as well as
data_version/1 to find out what version an opaque data structure is.

The current common_test speed test is 10x slower than compiling directly
on the shell command line. This is because of the test harness, not a
change to the implementation of vbisect. Future commits will address
this issue so that performance testing is more accurate.
Add README notes on the internal vbisect version label
Add orddict interfaces fetch_keys, is_key, filter, map and values
Use less memory being right branch lazy during fold, filter and map
Split functional and performance testing; disable cover on perf gains back 10x
Change find -> {ok, Value} | error; test filter/map
Add log_custom; adjust logging to {ok, Value} return
Add new/0 for dict/orddict compatibility
Minor dialyzer spec tightening
Add to_list and from_list
Construct from_list using an orddict properly
Add vbisect:fetch/2 to mirror dict:fetch/2 (no tests yet)