Revisit Logos

Fixes #2331, ie :

 - Default logo

    ```javascript
    var map = new ol.Map({
      // show the ol3 logo by default
    });
    ```

 - Custom logo

    ```javascript    
    var map = new ol.Map({
      logo: 'http://example.com/logo.png'
    });
    ```
 - Custom logo with a link

    ```javascript
    var map = new ol.Map({
      logo: {
        src: 'http://example.com/logo.png',
        href: 'http://example.com/'
      }
    });
    ```

 - No logo

    ```javascript
    var map = new ol.Map({
      logo: false
    });
    ```

Allow the same on sources (fixes #1939)

Bypass `collapsible` when there’s only logos and no attributions (simple without background, css themable)
![capture decran 2014-07-21 a 17 52 17](https://cloud.githubusercontent.com/assets/21686/3645944/0ec6b896-10ef-11e4-99ca-6a120f102587.png)
(yes, fake example, there ARE attributions for OSM)


This could be `else` (instead of calling `goog.isDef(options.logo)` again.