Changes to build with the compiler in incoming

Builds with rustc as of commit 101d4bf8b2a9d7bf7cd537ae8a9d9a9a12ebc150.
Refactor in light of the loss of module extern blocks
Various incompatibilities with incoming were fixed

Also, File::new_for_path was changed to
GFile::new_for_path. Furthermore, GFile was lifted out of raw, and
made into an empty enum. Possible more types should be made into empty
enums but I'm saving that for later.
Ported over test suite
Merge remote-tracking branch 'sstewartgallus/update_to_latest_incoming' into new-rust

Conflicts:
	fauxgen/gio.rc
	grust/object.rs
	test/grust-proof.rs

I have also made some changes that make it easier to backport to
Rust as of current master (commit 2d28d645422c1617be58c8ca7ad9a457264ca850).
Renamed module ll to ffi

As recommended in https://github.com/mozilla/rust/wiki/Note-style-guide
Fix the linkage problem in tests
Updated the issue reference on the pub use problem
Support out-of-tree builds

It has to be ugly because of https://github.com/mozilla/rust/issues/6746
Declared run method of EventLoop unsafe

As long as running a GLib event loop blocks all tasks
in the Rust scheduler thread, it should not be presumed safe to call run.
Backported the tests to Rust state of master

Works with Rust as of commit 2d28d645422c1617be58c8ca7ad9a457264ca850.