make public STI and add Username type

added a type column to Public and made a
Username subclass where a username must be present
running into some issues with the search operators currently
fix search stuff on public
add BlankUsername type

this is a STI subclass of Public that has a blank
string fro the username
use Username instead of publics

change all the old usage of Public to point to username
and start adding support for BlankUsername
update importers to use STI publics

updated the importers to use the new STI public system
add BlankPassword private type
allow creation methods to create blankPasswords
Merge branch 'master' into feature/MSP-11247/public-sti

Conflicts:
	lib/metasploit/credential/version.rb
	spec/dummy/db/structure.sql
version bump again

MSP-11247
MSP-11248
allow realm-only core objects

MSP-11245
change callbacks to before_save

use before_save instead of after_initialize to
set Blank* data
more cleanup based on Luke's feedback
DRY in pwdump importer
ifinal cleanup operations as suggested by KronicDeth
Fix comment style

MSP-11247
Sort search operator name entries

MSP-11247
Use direct SQL instead of model reference in migraion

MSP-11247
Order constants

MSP-11247
Make comment match code

MSP-11247
change public factory to use the STI forms

public factory will now return either a Username
or BlankUsername randomly. Test cases that assume a Username,
must now explicitly use the Username factory.

MSP-11247