Syntax fixes: not operator, not-equal operator, until with numbers, list indeces with number...

Fixes #36, #29, and #22.
Examples of new supported syntax:
**not operator:**
```if not x { print "x is false." } else { print "x is true". }.``` (note the "not").

**Not-equal operator: "<>":**
```if x <> 2 { print "x is not 2.". }.```

**'until' works with numbers:**
```
set x to 0.
on ag1 set x to 1.
on ag2 set x to 2.
until x { print "x still isn't true.". wait 0.5.}.
print "X became true because it is now = " + x.
```

**list indeces now handle any arbitrary expression as the index:**
```
list parts into plist.
set x to 0.
print plist#x.
set x to 0.00.
print plist#x.

// works with any expression:
set x to 2.
print "These are the same: "
print plist#(3*x^2).
print plist#12.
```

@marianoapp: Unfortunately I just discovered that we were both working on issue #22 at the same time, so we have different approaches to the same fix, and yours fix got merged about 1 hour ago while I was working on mine.

I haven't looked at your fix yet to see what I did that may conflict, but presumably there will be some clashes.  I'll leave it up to you to decide who's implementation to keep and who's to throw away.

Is there some way to record "someone is already working on this" so two people don't try to edit the same thing at the same time?  At any rate let me know if this will be a merging problem.