implement delete attribute

The code related to rewrite is not completely provided. I don't know how to generate correct guards so that different branches in the code could be reflected in the code generated by rewriter.

The following logic is implemented:
1. invoke \_\_delattr\_\_ if exists
2. del instance \_\_dict\_\_
3. if attr is not in \_\_dict\_\_ of instance, check if attr exists in the its class.
       >if found, invoke \_\_delete\_\_ attribute if exists or throw AttributeError.
       >if not, throw AttributeError

You really should use a `"%s"` format string and pass `attr` as an argument; the user could do something like `delattr(a, "%s")`.