Rewrite demo assignment

This is a proposed implementation of the assignment layout discussed in #67 .

Resolves #67 
I think unit tests and conceptual are all we need to support now.
On Aug 20, 2014 10:51 PM, "albert12132" <notifications@github.com> wrote:

> In client/demo_assignments/hw1/tests/q1.py:
>
> > +    4
> > +    # explanation: Squaring a negative number
> > +    # choice: -4
> > +    # choice: 2
> > +    # choice: None
> > +    """,
> > +  },
> > +  {
> > +    'type': 'doctest',
> > +    'test': """
> > +    >>> square(0)
> > +    0
> > +    # explanation: Squaring zero
> > +    """,
> > +    'teardown': """
> > +    print('Optional Teardown code for the testcase goes here')
>
> I can change the demo to do something more realistic with the teardown.
> For example, when we test for abstraction violations, we generally do module.adt
> = new_adt in the test, and use the teardown to switch module.adt back to
> its original implementation.
>
> In terms of testing, what exactly did you have in mind in addition to
> unittests?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/Cal-CS-61A-Staff/ok/pull/76/files#r16521608>.
>