Added test for global iterator to analyze entire graph.
disabled test (for now) since its only performance related (move into corresponding profile)
Merge branch 'titan05' into log

Conflicts:
	titan-hbase/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseStoreManager.java
Refactored IDManager to add new vertex types. Also fixes #467.
Using BulkRequest for updates. Preparing for list and set property values. Fixes #541.
Made isHidden an element method and provided default implementation. Moved temporary id generation into IDManager. Some renaming of internal classes.
Added ValueCondition to prepare inclusion of properties in GraphQuery
Enabled properties on properties - query optimizer and executor not yet updated all the way. In other words, vertex centric query constraints on properties won't yet work.
Edit maven assembly to remove cause of a warning

Assembly warns if an exclude pattern in one of its descriptor files
has no matches.  I inverted the body of the exclude and made it an
include with an identical effect.  No warning now.
Remove storage.hostname, storage.port from HBase

These options are ambiguous, leading to confusion like in #559.  Port
is particularly ambiguous because the key "storage.port" does not make
it clear whether it sets the ZK port or the HBase regionserver port.

These options now do nothing under HBase except log warnings.  The
warnings point the user at hbase-site.xml and storage.hbase-config.
Refactored how type information (definition and soon-to-be-added relationships) is stored in the graph.
Used new hidden id recognition to filter in VertexIterable
Fixed SystemType management
Fix BufferUtil.nextBiggerBuffer overflow handling

This method always returned a zero buffer when allowOverflow was set
to true, regardless of whether an overflow had actually occurred.
Fix HBase local key partition end bounds

My initial commit needlessly incremented the end key of each range
produced by the HBase API.  I thought this was necessary from the
javadoc, but in testing, it seems the keys returned are already
exclusive.  Either that or HBase is producing regions with a single
rowkey overlap on each end...
Add HBase region presplit support

The HBase backend does the following when creating the Titan table:

* check whether the storage.region-count config option is set to an
  integer greater than or equal MIN_REGION_COUNT (3), and if so, use
  that value, or if not...

* attempt to retrieve a ClusterStatus object from HBaseAdmin and count
  the number of servers, and if that's greater than MIN_REGION_COUNT,
  then use that, or if not...

* call the createTable(String) method in the HBase API without
  specifying the number of regions, allowing the HBase implementation
  to apply its own internal default value

I didn't realize MIN_REGION_COUNT would be necessary until I tried
setting region-count to 1, at which point HBase rejected my
createTable call with an exception.  I also found this:
https://issues.apache.org/jira/browse/HBASE-8170.
Refactor ID partitioning configuration

Deleted IDPartitionMode enum.  ids.partition is now a boolean again.
If it is not present in the kcvs configuration, then it is set to
features.isKeyOrdered() && features.isDistributed() just prior to
freezing
Change MapR ZK version to 3.4.5
Refactored HBase region count configuration

Added a new option, regions-per-server, that takes effect if
region-count is unset.  When it takes effect, Titan's table is created
with total region count = (number of servers reported by HBase
ClusterStatus) * (regions-per-server).

If neither option is set, then the HBase manager still calls
HBaseAdmin#createTable(String) without specifying any rowkey
boundaries or region count.
Adding debug log msgs around storage failures