Add parsers for break, continue and return expressions. (#21)

Added parsers for break, continue and return
diff --git a/src/expr.rs b/src/expr.rs
index facc57e..e94fe9e 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -370,9 +370,12 @@
             expr_block
             // TODO: Path
             // TODO: AddrOf
-            // TODO: Break
-            // TODO: Continue
-            // TODO: Ret
+            |
+            expr_break
+            |
+            expr_continue
+            |
+            expr_ret
             // TODO: Mac
             // TODO: Struct
             // TODO: Repeat
@@ -570,6 +573,30 @@
         ))
     ));
 
+    named!(expr_continue -> Expr, do_parse!(
+        keyword!("continue") >>
+        lbl: option!(label) >>
+        (Expr::Continue(
+            lbl,
+         ))
+    ));
+
+    named!(expr_break -> Expr, do_parse!(
+        keyword!("break") >>
+        lbl: option!(label) >>
+        (Expr::Break(
+            lbl,
+         ))
+    ));
+
+    named!(expr_ret -> Expr, do_parse!(
+        keyword!("return") >>
+        ret_value: option!(expr) >>
+        (Expr::Ret(
+            ret_value.map(Box::new),
+         ))
+    ));
+
     named!(expr_block -> Expr, map!(block, |b| Expr::Block(Box::new(b))));
 
     named!(block -> Block, do_parse!(