core: Inline mallocing wrapper functions

As far as I can tell, this doesn't make rust compile any
faster, but it does at least remove one level of indirection
on malloc, which might help speed up some operations.
std: change Decoder::read_option to return a generic type

This allows read_option to be used with a custom option type instead
of just core::Option.
auto merge of #5608 : erickt/rust/incoming, r=catamorphism

@nikomatsakis pointed out that `fn read_option<T>(&self, f: &fn() -> T) -> Option<T>` should have this syntax so it can work with custom option types: `fn read_option<T>(&self, f: &fn(bool) -> T) -> T`.

Also, this also includes some `#[inline(always)]` on the memory functions in `src/libcore/unstable/lang.rs` to reduce one level of indirection when allocating memory.