added document interface functions
Added libbson README.
Added encode, made compile.

I think some code wasn't pushed, so the repo is in a strange state at
the moment. I commented out things enough to make it compile. We can
deal with merges later.
Started encoding and ran into some issues

- To encode bson, we have to know the size up front which means we need
  to keep the size from before. Currently, we throw it away. This also
  means that a user should never be able to construct a bson object. We
  should make the enums private. I think we should also move the encode
  and decode login in bson.rs. There is no reason to have them be there
  own seperate modules.
- How to convert an i32 into bytes
Implemented encode.

Not yet tested.
Merge branch 'master' of github.com:mwhittaker/mongo-rust-driver
Merge remote-tracking branch 'origin/michael'

Conflicts:
	bson/src/bson.rs
	bson/src/decode.rs