ocaml 1.0.0-beta.5

OCaml bindings for Rust
Documentation
## 1.0.0-beta.5

- Implement `ToValue` for `Box<T>` by @fmckeogh https://github.com/zshipko/ocaml-rs/pull/107
- Refactor derive macros for `FromValue` and `ToValue`
- Drop support for OCaml 4.07

## 1.0.0-beta.4

- Added `ocaml::function` macro for calling OCaml values
- Fix spelling in book by @fmckeogh in https://github.com/zshipko/ocaml-rs/pull/98
- Fixes no_std by @fmckeogh in https://github.com/zshipko/ocaml-rs/pull/99
- Feature gate panic hook by @fmckeogh in https://github.com/zshipko/ocaml-rs/pull/100
- Test `no_std` feature in CI by @fmckeogh in https://github.com/zshipko/ocaml-rs/pull/101
- Implement `FromValue` for `Box<T>` by @fmckeogh in https://github.com/zshipko/ocaml-rs/pull/105

## 1.0.0-beta.2

- Added `Seq` type

## 1.0.0-beta.1

- Add `ToValue`/`FromValue` implementations for `u32`

## 1.0.0-beta.0

- Removed `IntoValue` and added `ToValue` because it now accepts a reference to self
- `Custom` types now have to be wrapped in a `Pointer<T>`
- Added `ocaml::import!` macro for calling OCaml functions from Rust
- Added `ocaml::sig` proc-macro for generating `external` and type signatures
- Added ocaml-build crate for generating OCaml code from `ocaml::sig` macros and linking dune
  projects
- Renamed `Value::call` to `Value::call1` and rewrote `Value::call` to take a variable number of
  arguments
- Added support for automatic conversion between OCaml `Result.t` and Rust `Result`
- Renamed `Value::float` to `Value::double` and `Value::float_val` to `Value::double_val`
- Added `Value::alloc_double_array`, `Value::double_field` and `Value::store_double_field`
- Improved support for float arrays in ocaml-sys
- `Custom` values have a new default `finalize` implementation that will drop the inner Rust value

## 0.22.4

- Added `Value::exn_to_string` to convert OCaml exception values to their string representation
- Added `gc_minor`, `gc_major`, `gc_full_major` and `gc_compact` functions for interacting with
  the OCaml garbage collector

## 0.22.3

- Use latest `ocaml-interop`

## 0.22.2

- Adds `FromValue`/`ToValue` for `[u8]`

## 0.22.1

- Add `no-caml-startup` feature to allow `ocaml-rs` libraries to link
  correctly when using `dune utop`

## 0.22.0

- Allow `Value` to hold boxroot or raw value
- Add `Raw::as_value` and `Raw::as_pointer`

## 0.21.0

- New `Value` implementation to use `ocaml-boxroot-sys`
  * `Value` no longer implements `Copy`
- `ocaml::Raw` was added to wrap `ocaml::sys::Value` in macros
- Update `ocaml-interop` version

## 0.20.1

- Fix issue with OCaml runtime initialization: https://github.com/zshipko/ocaml-rs/pull/59

## 0.20.0

- `Value` methods marked as `unsafe`: the `Value` API is considered the "unsafe" API and `ocaml-interop` is the safer choice
- `ToValue` renamed to `IntoValue`
- All functions that cause OCaml allocations (including `IntoValue::into_value`) take a reference to `ocaml::Runtime`, which is provided by
  an implicit variable named `gc` when using `ocaml-derive` (the name of this variable is configurable: `#[ocaml::func(my_gc_var)]`)