[bug] fix case-insensitive group (Issue #7)

When case-insensitive string and case-sensitive string were mixed,
optimize information wasn't properly computed.

see: http://bugs.ruby-lang.org/issues/7974
[dist] update testpy.py
[bug] fix character class with ASCII flag (Issue #9)

The priority of ASCII flag (?a) was wrong in character class.

E.g.
 /(?a)[\p{Space}\d]/
   This should be equivalent to  /[\p{Space} [\p{Digit} && \p{ASCII}]]/.
   But it was wrongly treated as /[[\p{Space} \p{Digit}] && \p{ASCII}]/.

see:
 http://bugs.ruby-lang.org/issues/7972
 http://stackoverflow.com/questions/15076507/regex-slightly-different-in-ruby-2/
[dist] update testpy.py

Add tests for the Issue #9.
Merge branches 'topic/fix-case-insensitive-group' and 'topic/fix-cclass-with-ascii-flag'

Conflicts:
	testpy.py
update HISTORY and copyright