fixed DEFPSMACRO and DEFINE-PS-SYMBOL-MACRO to ensure that any
macros defined with them will be expanded properly when needed in
the same file
Simplified &REST implementation.

I think using the built in Array.slice is the saner choice here.
Updated tests for changed &REST implementation.
Removed obsolete PROGN in PARSE-EXTENDED-FUNCTION &REST handling.
Added support for output of asm.js compatible code.

Added a unary-plus to the IR and removed the automatic conversion of
(setf x (logior x 0)) to "x |= 0;".
Added support for getters and setters in object literals.

Getters and setter are defined in ECMAScript 5.1 sec. 11.1.5.

A getter would be specified in a (CREATE ...) form as a name-value
pair of the form (GET <NAME>) <EXPR>, where <NAME> is a symbol naming
the object slot, and <EXPR> is the body of the getter.

A setter would be specified as a name-value pair of the form
(SET <NAME> <NEW-PARAM>) <EXPR>, where <NAME> is a symbol naming
the object slot, <NEW-PARAM> is a symbol naming the setter's formal
parameter for the assignment value, and <EXPR> is the body of the
setter.
Fixed: empty-body clauses in COND should evaluate to the result of the test.
Merge pull request #2 from pjstirling/master

Fixed DEFPSMACRO and DEFINE-PS-SYMBOL-MACRO
Merge pull request #3 from eugeneia/master

Simpler implementation for &REST in DEFUN
Merge pull request #6 from lemaster/master

Added support for output of asm.js compatible code.
Improved handling of declarations.

1. Named function bodies in Common Lisp may contain multiple DECLARE
   forms before or after the docstring (or even before *and* after).
   This feature is important for meta-programming by macros, and so
   PS should also support it.

2. Declarations should be allowed in PS forms whose Lisp namesakes
   allow them, to wit: in the macros WITH-SLOTS, MULTIPLE-VALUE-BIND,
   DO*, DO, DOTIMES, DOLIST, DESTRUCTURING-BIND, LET*, DEFUN,
   DEFSETF, and in the special forms LET, FLET, LABELS (letting out
   DEFMACRO, MACROLET, SYMBOL-MACROLET  who are not translated to
   JavaScript). Before the present commit, most of them didn't
   handle declarations correctly.

3. Individual DECLARE forms should be allowed to contain multiple
   declaration specifiers, in particular, multiple SPECIAL specifiers.
   WITH-DECLARATION-EFFECTS used to ignore SPECIALs after the first
   one.

4. This commit also introduces LOCALLY as PS form because it
   simplifies the implementation of stuff from (2).
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/function-definition.lisp