Add TreeStore and ListStore

This starts the work to wrap TreeStore and ListStore, so TreeViews can display content. I'm very new to Rust, so feel free to close this if it is not done the right way. I left most of the functions unimplemented as I didn't want to spend too much time on it if that is the case.

The idea is that it should work like this:

```rust
let mut project_tree = gtk::TreeView::new().unwrap();
let str_type = 16 << 2; // ugly...probably need to make an enum for this
let tree_store = gtk::TreeStore::new(vec![str_type]).unwrap();
let model = tree_store.get_model().unwrap();
project_tree.set_model(&model);
```

Here's what I think still needs to be done:
* Complete all the TreeStore/ListStore functions
* Create an enum that maps to the various [GType constants](https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#G-TYPE-INVALID:CAPS)
* TreeView's getter functions seem to have the "get_" omitted, which seems inconsistent with other widgets like IconView, so that should probably be fixed