Added filtered method for Option type
Fixed os:: and int:: not being in scope, changed io::println to println
Updated copyright year on shootout-binarytrees.rs
Changed shootout-chameneos-redux output to conform to the 'official' output format.
Added missing copyright notice to shootout-spectralnorm.
Fixed shootout-fasta.rs output
Updated shootout-fasta.rs copyright years, removed stuff that caused lint to complain.
Changed Arena API to make it usable once more.
auto merge of #7279 : hanny24/rust/master, r=msullivan

This commit adds filtered method for Option type. It is not exactly necessary (chain method can be used instead), however I believe that this approach using extra filtered method is more convinient.
Create a crypto submodule and move the SHA-1 implementation into it.
Improve the SHA-1 implementation

* Rename struct Sha1State to Sha1
* Remove all use of @ types
* Use fixed length vectors
* Move all of the inner functions from inside sha1() to top level, private functions
* Sha1 instances are now created via Sha1::new()
* Update all constant names to uppercase
* Remove unecessary assert_eq!s
* Remove check_vec_eq() helper function; use vec::eq() instead
Create a Digest trait for common methods on digests and convert the SHA-1 implementation to use it.

The DigestUtil trait was created for helper methods since default methods still have issues.
Implement the fixed output size versions of the SHA-2 digest functions.
remove old_iter

the `test/run-pass/class-trait-bounded-param.rs` test was xfailed and
written in an ancient dialect of Rust so I've just removed it

this also removes `to_vec` from DList because it's provided by
`std::iter::to_vec`

an Iterator implementation is added for OptVec but some transitional
internal iterator methods are still left
Fix/annotate a variety of xfails
xfail tests again for now (issues #7336, #7340)
deal with windows
implement Clone for slices
iterator: implement `collect` with FromIterator

This makes it take advantage of the size hint for pre-allocation.
auto merge of #7207 : DaGenix/rust/sha2, r=pcwalton

This pull request contains an unoptimized implementation of most of the SHA-2 functions (everything but the variable output size versions). I also created a common trait (Digest) for all of the interesting methods for working with digests and updated the existing SHA-1 code to use it. Finally, while working with the SHA-1 code, I got rid of the use of @ types and type objects.

I've tested all functions against the Wikipedia test vectors. Additionally, I tested the SHA-512, 384, and 256 variants against the Java implementations of those digests.

I did my best to try to follow Rust conventions, but, there are so many different conventions in the code base right now that I'm not sure if I'm following the correct one or not. Anyway, I'm happy to rework if I didn't get the coding convention right (or if there are bugs!).