Bring back the AFTER clause for DB Forge add_column()

(it was temporarily removed due to multiple inconsistencies with other drivers)

This commit also fixes issue #1988.
Also added support for the FIRST clause (again, MySQL and CUBRID only).
diff --git a/system/database/drivers/mysql/mysql_forge.php b/system/database/drivers/mysql/mysql_forge.php
index d4a8b4f..6c5dfc6 100644
--- a/system/database/drivers/mysql/mysql_forge.php
+++ b/system/database/drivers/mysql/mysql_forge.php
@@ -148,6 +148,14 @@
 	 */
 	protected function _process_column($field)
 	{
+		$extra_clause = isset($field['after'])
+			? ' AFTER '.$this->db->escape_identifiers($field['after']) : '';
+
+		if (empty($extra_clause) && isset($field['first']) && $field['first'] === TRUE)
+		{
+			$extra_clause = ' FIRST';
+		}
+
 		return $this->db->escape_identifiers($field['name'])
 			.(empty($field['new_name']) ? '' : $this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
@@ -155,7 +163,8 @@
 			.$field['null']
 			.$field['default']
 			.$field['auto_increment']
-			.$field['unique'];
+			.$field['unique']
+			.$extra_clause;
 	}
 
 	// --------------------------------------------------------------------