support and cast relationship references as ReadonlyField

Allows relationship fields and casts as ReadonlyField by default. Before a fatal error would occur when trying to clone a non object.  

Example;

```php
class Attachment extends DataObject {
    private static $db = array(
        'Title' => 'Varchar',
    );

    private static $has_one = array(
        'File' => 'File'
    );

    private static $summary_fields = array(
        'Title' => 'Title',
        'File.Name' => 'File Name',
        'File.Size' => 'File Size',
        'File.FileType' => 'File Type'
    );
}

....

//EditableGridfield usage:

$grid_config->getComponentByType('GridFieldEditableColumns')->setDisplayFields(
  array(
    'Title' => array(
      'title' => 'Title',
      'field' => 'TextField'
    ),
    'File.Name' => array(
      'title' => 'File Name'
    ),
    'File.Size' => array(
      'title' => 'File Size'
    )
   // ...
);
```

Reference: PR #58 


If checking for a not found in string, use ===, otherwise cases of strpos('.value', '.'), which returns 0, will actually make $rel = true. In this usage, it doesn't matter (as it's not possible to have a . character at the start), but who knows what may happen in future :)