Write A Shell In Rust

Rust programming language has been getting popular for quite a while.
While my first try on Rust is not quite smooth. That's when I wanted to rewrite
lightsocks, a tool similar to
shadowsocks. Two things blocked me:
1) select() is not yet natively supported and 2) I felt Rust programming is too
much depends on crates.

Then after using xonsh for a while, I've become
interested in writting a shell. And I decide to write one in Rust.
One for fun, one for learning Rust. (BTW,
xonsh is a must-try if you love Python)

After several weekends and vacations, the
cicada shell was born and ready
for real use.

During the journey, I find writting Rust is quite fun. The cost of
"Zero-cost Abstraction" on programmers are a bit annoying, but I'm
getting used to it. The crates are quite lovely. I treat them as
the std libraries in Python. They work very well with cargo tool.
The Rust community is very good and gave me a lot of helps along the way.