Added Method#arity emthod

TagAction: tag 'fails' deleted for specs:

 * Method#arity returns n, where n is the number of required arguments,
   when there are zero or more required arguments only
 * Method#arity returns n, where n is the number of required arguments
   and method created via defined_method
 * Method#arity returns -(n+1), where n is the number of required
   arguments, when there is at least one optional argument
 * Method#arity returns -(n+1), where n is the number of required
   arguments, when there is a splat argument,
   regardless of optional arguments
 * Method#arity returns the same value regardless of the presence of a block
Make RPython happy
remove unused import
Refactored code to use polymorphism

This commit also removes hack with bytecode and block attributes
Merge pull request #539 from krekoten/method_arity

Method arity almost completed