Use conformsToProtocol for getProperty calls

Most object types will eventually have methods, so this check is a bit easier. However, if this turns out to be a bottleneck, then we may want to use NSIndexSet
Add support for '{}' notation for accessing properties via expressions
Add support for Array.join

We can use this for string concatenation until we figure out what operator we want to use for that
Update project name
Add 'keys' and 'values' methods to PXObjectValues
Add URL function that simply returns its first parameter

This lets us create things that look like standard URLs, like:
url('http://www.pixate.com')
'join' all arguments passed to url()
Here's the updated embedded source as well
It's 'func' not 'function' :)
Make sure Array.join does the right thing with single-element arrays
Add a couple of tests for 'url()'
Add support for length and substring methods on strings
Add test for subscripts on strings
Finish out push, pop, shift, unshift implementation in PXStringValue

This is actually going to be deleted, but I wanted to have some record of this code in case it is needed later.
Move push, pop, shift, unshift, and reverse into PXArrayValue and out of PXExpressionArray

We want PXExpressionArray and PXExpressionObject to be minimal implementations of those types. Methods are already tied to specific types, so we only need these protocols to expose enough for what is needed by the byte code instructions.