Vec::with_capacity(capacity) panics / aborts when the capacity is too large.

This is a safer alternative which reports Error using try_reserve

``` //let's pretend this is an arbitrary number read from a broken file let numberfromfile : usize = 100000000000000;

//try to create a 100TB Vec let result : Result, > = vecwithcapacitysafe(numberfromfile);

//An error is reported assert_eq!(result, Err(WcsError::new(WcsErrorType::AllocError))); ```