clean redundant comments in test
change Seq behavior, expand related test

The change can be summarized as:

- now use _validate() for checking whether the format is correct
- add update() for changing seq and qual at a same time
- IMPORTANT! now __init__(seq, name, qual), name and qual can be
  optional
- modify related test and doc, should covered all code

The reason changing the behavior of Seq.__init__ is that now we can
support simpler initiation of Seq object,

    >>> Seq('ATCG')
    Seq(name=None, seq='ATCG', qual=None)

The representation remains the same order(name goes first) because it is
more often to see name of a sequence comes before the sequence. It can
store something like a whole chromosome (or long sequence) but still be
informative printing it out,

    >>> Seq('ATCGATCG...ATCGATCG', name='chr1')
    Seq(name='chr1', seq='ATCGATCGATCGATCGATCG
    ...
    ...
    ...ATCGATCG', qual=None)

More tests are added to specify the expected behavior, so in future if
some API changes subtly the test will still detect them.

Under the hood, all validation now goes to _validate(). So one can
inherit class Seq and overwrite this function for stricter sequence
format.

update() for changing sequence and quality at the same time(I wonder who
will change the sequence record at all?), since now one cannot use

    >>> s.seq, s.qual = 'ATCG', '(((('
    FormatError
update doc, put API-related doc under a dir

Also, warning during building doc now are suppressed,
this is related to numpydoc autosummary function call.