Fix issue 14

I add a cleaning entry point which call a cleaning identifier argument function.

I could not perform change on the gathered node because falafel return updated source at the end of ast walk and the point of `gather` is to fetch matched nodes, not to get all source code again.

So I had to clean after gathering and encapsulate the node inside an object to keep the `line` property along with it. Also I made some little changes so functions always return source code, not node or falafel object or src.

All of that with test.

Ready for review, shoot ;)