Why do the db tests explode when I force a schema update

# DO NOT MERGE THIS YET!

Updating the schema with the current one should not change anything, yet it fails badly and even breaks subsequent tests.

I only added a test method that will force a schema update. That causes MDB2 to fetch the schema from the DB, compare it to the one in `db_structure.xml` and execute any necessary updates. This mechanism seems more fragile than we think.

@bartv2 could you test this with doctrine?

@icewind1991 the filecache tests seem to insert rows missing `storage_mtime` and `unencrypted_size` which are defined as
```xml

			<field>
				<name>storage_mtime</name>
				<type>integer</type>
				<default></default>
				<notnull>true</notnull>
				<length>4</length>
			</field>

            <field>
                <name>unencrypted_size</name>
                <type>integer</type>
                <default></default>
                <notnull>true</notnull>
                <length>8</length>
            </field>
```

I don't know why that only shows up after forcing a db schema update. In any case these definitions will not work on oracle because it treats '' as null. using `<default></default>` in combination with `<notnull>true</notnull>` is simply wrong.