Namespace fixes

This PR fixes several bugs in namespace support.

Commit 85f3a2499a914770ef4dd8f97a52235980e1d1c9	fixes issue #278 .
Commit f5ef4f44b1a6f66a2198773f59c9bc755241d88c fixes parsing errors with following code:

```php
<?php
namespace Test;
class C {
   protected $arr = array(\NS\C::Constant => 3);
}
```

Commit 1c61e2efba9ab1ac26f583ceab8c5307196cf0b4 fixes problem with constant resolution in namespaces, for example:

```php
<?php
namespace Test;
class C {
   function x() {
       return true; // was interpreted as \Test\true instead of \true
   }
}
```

Commit 20354c71c9b3612f92f69956831894c60cb84643 fixes problem with prepending namespace name to *self* and *parent*.

```php
<?php
namespace Test;
class C {
   const CONSTANT = 1;

   function x() {
       return self::CONSTANT; // was interpreted as \Test\self::CONSTANT instead of \Test\C::CONSTANT
   }
}
```

Commits 68ce1a726eb0041401832b525e67b40323ab44a8 and 8aeccf5a0864eda294e6e2b8e9e879e32f0aa4a0 compilation and runtime errors caused by typos in parser.